Angular 10文件上传到django服务器

Angular10 File Upload to django Server

我正在尝试使用 Angular HTTP 客户端上传 CSV 文件。但是当我在后端检查 request.FILES 时,它显示 <MultiValueDict: {}>。显然,文件数据以字节字符串的形式进入 request.body。以下是示例 angular 代码供您参考。

const upload_url = `${BASE_URL}/data-upload`;

// Create form data instance
const formData: FormData = new FormData();
formData.append('data_file', file, file.name);

// Update header
const headers = {'Content-Type': 'multipart/form-data'}

this.http.post(upload_url, formData, {headers: headers}).subscribe(res => {
  console.log(res);
});

如何在 request.FILES 中获取相同的文件数据?

问题解决了!文件上传在将数据上传到服务器时推断 Content-Type Header。 我已经从上面的代码中删除了 header 并上传了文件并且它运行良好。

这是从 request.FILES 上传文件后的响应:<MultiValueDict: {'data_file': [<TemporaryUploadedFile: dummy-data.csv (application/vnd.ms-excel)>]}>