第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 midi 文件創(chuàng)建 url - Javascript

從 midi 文件創(chuàng)建 url - Javascript

楊魅力 2023-08-22 14:40:17
我通過 ajax 請求從服務(wù)器發(fā)送一個 midi 文件:// Create new request add token const generateRequest = new XMLHttpRequest();generateRequest.open('POST', '/generate');generateRequest.setRequestHeader('X-CSRFToken', csrftoken);generateRequest.onload = () => {    // Get response from server    console.log(generateRequest.response);    // /tmp/music21/tmp5v_ulgkr.mid    let objectURL = URL.createObjectURL(generateRequest.response);    document.getElementById('myVisualizer').src = objectURL;};// Add the motif to send with the requestconst data = new FormData();data.append('motif', JSON.stringify(notes));// Send requestgenerateRequest.send(data);服務(wù)器:def generate(request):    if request.method == "POST":        # Do some stuff                midi = mg.save_melody(melody)    return HttpResponse(midi, content_type="audio/midi", status=200)Mi的想法是將mi midi-visualizer的src設(shè)置為midi文件:<midi-visualizer src="" type="staff" id="myVisualizer"></midi-visualizer><midi-player sound-font visualizer="#myVisualizer"></midi-player>但我得到:未捕獲類型錯誤:無法在“URL”上執(zhí)行“createObjectURL”:未找到與提供的簽名匹配的函數(shù)。我也嘗試了 srcObject 但沒有結(jié)果。如何將 src 更改為我的 midi 文件?
查看完整描述

1 回答

?
拉丁的傳說

TA貢獻(xiàn)1789條經(jīng)驗 獲得超8個贊

我是這樣解決的:


# Generate the melody based on the seed


@require_http_methods(["POST"])

def generate(request):

    

    # See if method was post

    if request.method == "POST":


        # Do some stuff


        midi = mg.save_melody(melody)


        try:

            with open(midi, 'rb') as f:

                file_data = f.read()


            response = HttpResponse(file_data, content_type="audio/midi", status=200)


        except IOError:

            response = JsonResponse({"succes": False}, status=400)


        return response

和 JavaScript:


const csrftoken = document.querySelector('[name=csrfmiddlewaretoken]').value;


// Create new request add token 

const generateRequest = new XMLHttpRequest();

generateRequest.open('POST', '/generate');

generateRequest.setRequestHeader('X-CSRFToken', csrftoken);

generateRequest.responseType = 'blob';


generateRequest.onload = () => {

    // Get response from server

    console.log(generateRequest.response);


    let objectURL = URL.createObjectURL(generateRequest.response);

    document.getElementById('myVisualizer').src = objectURL;

    document.getElementById('playerMidi').src = objectURL;

};


查看完整回答
反對 回復(fù) 2023-08-22
  • 1 回答
  • 0 關(guān)注
  • 1649 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號