multipart/formdata没有使用jQuery.ajax发送文件数据



我有一个来自Django后端人员的端点,文档如下:

POST到/api/1/photo-uploads/with enctype="multipart/form-data",字段中的文件名为"files[]"。

我一直试图使用jquery的AJAX方法用formData发送上传的文件。我继续收到一个错误,表明该文件未被发送。当我查看有效载荷时,我看到了。

undefined
------WebKitFormBoundary9AzM2HQPcyWLAgyR
Content-Disposition: form-data; name="file"; filename="auzLyrW.jpg"
Content-Type: image/jpeg

这并不一定意味着它没有发送,但肯定没有发布位置。我没有任何形式的验证文件是上传的。

var formData = new FormData();
formData.append('file', $('#file-upload').get(0).files[0]);
$.ajax({
url: '/api/1/photo-uploads/',
type: 'POST',
data: formData,
cache: false,
contentType: false,
processData: false,
});

当我console.logformData时,它只是显示了像.append这样的原型方法。因此,除了检查有效负载之外,我无法验证文件的数据是否正在发送。我可以记录$('#file-upload').get(0).files[0],但我只能从文件本身看到详细信息。因为我在本地测试它,所以上传位置应该是localhost:8000/。

后台人员认为这是我正在做的事情。当我发布一个简单的表单时,效果很好。我已经尝试了许多插件和基本方法,并且都产生了400 {"message": "No photos supplied.", "success": false}

任何想法都将不胜感激。

文档要求将其命名为files[]。发送的是file

formData.append('files[]', $('#file-upload').get(0).files[0]);

最新更新