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

Zac*_*ter 4 javascript api django ajax jquery

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

POST到/ api/1/photo-uploads /使用enctype ="multipart/form-data",文件名为"files []".

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

undefined
------WebKitFormBoundary9AzM2HQPcyWLAgyR
Content-Disposition: form-data; name="file"; filename="auzLyrW.jpg"
Content-Type: image/jpeg
Run Code Online (Sandbox Code Playgroud)

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

    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,
    });
Run Code Online (Sandbox Code Playgroud)

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

后端人员的印象是我正在做的事情.当我做一个简单的表单帖子它工作正常.我已经尝试了一些插件和基本方法,并且都已经生成了400 {"message": "No photos supplied.", "success": false}

任何想法,将不胜感激.

Zac*_*ter 6

文档要求它被调用files[].发送的是什么file.

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