如何将文件从Axios上传到Django?

时间:2018-03-22 17:00:36

标签: javascript django reactjs file-upload axios

我从Jquery AJAX切换到react-dropzone& Axios,我想将文件上传到我的Django服务器,我没有问题在服务器上发布图像的blob网址,但我想在request.FILES下获取它,但我得到一个空的查询集

request.FILES : <MultiValueDict: {}>  <!--- empty
request.POST  : <QueryDict: {}>       <!--- able to get a blob url

这是我的axios配置的样子:

const temporaryURL = URL.createObjectURL(step3.drop[0]);

var fd = new FormData();
fd.append('image', temporaryURL);

axios({
  method: 'post',
  url: SITE_DOMAIN_NAME + '/business-card/collect/',
  data: fd,
  headers: {
    "X-CSRFToken": CSRF_TOKEN, 
    "content-type": "application/x-www-form-urlencoded"
  }
}).then(function (response) {
  console.log(response)
  URL.revokeObjectURL(temporaryURL);
}).catch(function (error) {
  console.log(error)
});

我在POST请求上收到classBasedView上的文件。

如何上传文件?我哪里错了?

修改

我也尝试了#34; application / form-data&#34;,并没有解决问题

1 个答案:

答案 0 :(得分:0)

问题来自content-type,因为它使用的是"application/form-data"而不是"multipart/form-data"