当我尝试在Django中使用Ajax上传文件时遇到问题。我在Javascript上使用FormData。但问题出在服务器端。文件到达request.POST作为dataURL,它应该到达request.FILES,但它是空的。
这是我的代码:
var form_data = new FormData(document.getElementById("form-theme-edit")),
url = "/theme/edit/1";
$.ajax({
"url" : url,
"method" : "POST",
"enctype": "multipart/form-data",
"data" : form_data,
"processData" : false
});
答案 0 :(得分:1)
您需要将contentType
选项设置为false
,以防止jQuery在构造请求有效内容时尝试将FormData
对象强制转换为URL编码的字符串。此外,enctype
不是有效的$.ajax
选项,因此您应将其删除。