Использование функции для создания ссылки на загрузку аудио-блобов для отправки ее на сервер Django, но ничего не получается в конце django - PullRequest
0 голосов
/ 24 сентября 2019

Я использую эту функцию createDownloadLink, которая принимает BLOB-объекты и создает ссылку для загрузки, чтобы загрузить аудио, а также создает ссылку для загрузки, чтобы загрузить BLOB-объект в бэкэнд Django, используя xmlHttpRequest, когда я написал функцию для просмотра и просмотра данных BLOB-объектов.он не показывает данных POST

function createDownloadLink(blob) {

    var url = URL.createObjectURL(blob);
    var au = document.createElement('audio');
    var li = document.createElement('li');
    var link = document.createElement('a');

    //name of .wav file to use during upload and download (without extendion)
    var filename = new Date().toISOString();

    //add controls to the <audio> element
    au.controls = true;
    au.src = url;

    //save to disk link
    link.href = url;
    link.download = filename+".wav"; //download forces the browser to donwload the file using the  filename
    link.innerHTML = "Save to disk";

    //add the new audio element to li
    li.appendChild(au);

    //add the filename to the li
    li.appendChild(document.createTextNode(filename+".wav "))

    //add the save to disk link to li
    li.appendChild(link);

    //upload link
    var upload = document.createElement('a');
    upload.href="/show";
    upload.innerHTML = "Upload";
    upload.addEventListener("click", function(event){
      let blob = new Blob(chunks, {type: media.type });
      var xhr=new XMLHttpRequest();
          xhr.onload=function(e) {
              if(this.readyState === 4) {
                  console.log("Server returned: ",e.target.responseText);
              }
          };
          var fd=new FormData();
          fd.append("audio_data",blob, filename);
         //fd.append('csrfmiddlewaretoken', $('#csrf-helper input[name="csrfmiddlewaretoken"]').attr('value'));
          xhr.open("POST","/show/",true);
          xhr.setRequestHeader('csrfmiddlewaretoken', $('#csrf-helper input[name="csrfmiddlewaretoken"]').attr('value'));
          xhr.send(fd);
    })
    li.appendChild(document.createTextNode (" "))//add a space in between
    li.appendChild(upload)//add the upload link to li

, и тогда моя функция просмотра выглядит следующим образом

def solve(request):
    print('its working')
    blob = request.FILES['audio_data']
    print(blob)
    return render(request,'display.html')

Я просто хотел посмотреть данные BLOB-объектов, чтобы использовать их для дальнейшего анализа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...