从javascript ajax将录制的音频文件保存在Django中

时间:2020-09-13 17:21:48

标签: javascript python django ajax

我正在尝试使用javascript录制音频文件并将其保存在Django后端中。 这是ajax功能

function uploadAudio( blob ) {
  var reader = new FileReader();
  reader.onload = function(event){
    var fd = {};
    fd["data"] = event.target.result;
    $.ajax({
      type: 'POST',
      url: 'testing/',
      data: fd,
      dataType: 'text'
    }).done(function(data) {
        console.log(data);
        document.getElementById("response").innerHTML=data;
        alert(data);
    });
  };

这是views.py文件中的功能

@csrf_exempt
def test(request):
    if request.is_ajax():
        print("Yes, AJAX!")
        print(request.DATA )
    else:
        print("Not Ajax")

    return render(request,'testing.html',{'print':'message'})

如何将数据另存为音频文件

1 个答案:

答案 0 :(得分:0)

这对我很有效

@csrf_exempt
    def test(request):
        if request.is_ajax():
            req=request.POST.get('data')
            d=req.split(",")[1]
            f = open('./file.wav', 'wb')
            f.write(base64.b64decode(d))
            f.close()
        return HttpResponse('audio received')