django发布请求未在终端中显示javascript blob对象

deltaskelta

我已经在墙上敲了好几个小时。我正在尝试使用recorder.js此示例中的源https://webaudiodemos.appspot.com/AudioRecorder/

现在,我想对其进行修改,以使用户可以听到播放给他们的音频,然后y如果愿意,可以将其上载到服务器。通过将方法的返回值添加createObjectURL(blob)到音频元素,可以播放音频。伟大的

现在,我只需要编写一个发布请求,并将其发送到我的django实例即可在视图中处理它……这很奇怪。

我用jQuery发布这样的ajax请求...

$(document).ready(function () {
  $("#submit_audio_file").click(function () {
    var data = new FormData();
    data.append("csrfmiddlewaretoken", $("[name=csrfmiddlewaretoken]").val());
    data.append("audio_file", blob, "test");
    // Display the key/value pairs
    for(var pair of data.entries()) {
       console.log(pair[0]+ ', '+ pair[1]); 
    }
    $.ajax({
      type: "POST",
      url: $("#post_url").val(),
      data: data,
      processData: false,  // prevent jQuery from converting the data
      contentType: false,  // prevent jquery from changing something else as well 
      success: function(response) {
        alert(response);
      }
    });
  })
});

当我发出此请求时,我会在控制台中看到此信息...

csrfmiddlewaretoken, 3YBQrdOUkquRDD5dN0hTJcUXYVFiNpSe
audio_file, [object File]

然后在我的django CBVprint request.POST.items()中,在第一行中放一个,这样我就可以看到即将到来的内容。在我的终端中,我看到了这个...

 [(u'csrfmiddlewaretoken', u'mymiddlewaretokenvalue')]

audio_file发帖请求中根本没有密钥。为什么会在javascript控制台中显示,然后在django请求中消失呢?

将来我还会看到一个潜在的问题,因为我认为javascript控制台只是打印一个字符串,[object File]显然不会按照我想要的去做。

有什么下一步的想法吗?

拉法姆

正如丹尼尔·罗斯曼(Daniel Roseman)所写,上传的文件最终位于request.FILES还有一件事-来自jQuery文档:

从jQuery 1.6开始,您可以传递false来告诉jQuery不要设置任何内容类型标头。

和Django文档规定:

请注意,如果请求方法为POST并且发布请求的表单具有属性enctype =“ multipart / form-data”,则request.FILES仅包含数据。否则,request.FILES将为空。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从图像URI创建Javascript File / Blob对象

将Blob提取到linq对象中

在CloudBlobDirectory对象中按前缀列出blob

未在对象检查器中显示已发布的属性

显示在Angular 5中作为Blob对象接收的图像

将图像Blob对象保存到本地文件系统Javascript

如何将Blob对象从javascript传递到Android?

javascript 音频对象 - 从 .ogg blob 呈现音频播放器

从 Python 中的 download_as_string 访问 blob 对象中的数据

如何在浏览器中打开Blob对象?

用于修改Azure Blob存储中对象的ContentType的Powershell函数

将C#对象另存为Oracle中的Blob

如何在Google Apps脚本中获取Blob对象的大小?

Android将对象另存为sqlite中的blob

如何查找 Azure blob 容器中的对象数量 - 存档层

从 Azure 存储 Blob 中批量删除 'x' 天前的对象

Windows.Forms对象未在发布/部署中显示,但在调试模式下显示

如何解析为响应发布请求而收到的 javascript 对象并将其显示在有角度的页面中

如何使用sqlite数据库中的JasperReports显示Blob对象图像?

对象未在 DELETE 请求中删除

将Blob上传到Azure失败,并显示“无效的HTML文件对象”错误

已发出发布请求,但 MongoDB 中仅显示对象 _id

如何将javascript对象转换为utf-8 Blob进行下载?

无法使用 Blob 对象在客户端打开`docx` 文件 - vanilla JavaScript

如何在Java SE 1.5.0中使用byte []输入创建java.sql.Blob对象?

iPhone Chrome浏览器中的BLOB对象未下载文件

使用$ http从服务器下载的原始文件中创建Blob对象。

查询时数据库中的匿名对象Blob未序列化为JSON

在Azure上的Blob中存储值列表时,“列表”对象没有属性“编码”