【发布时间】:2021-03-27 19:17:53
【问题描述】:
我正在使用 fetch API 与服务器通信,然后我意识到当我使用 fetch API 上传文件时,post 请求看起来很奇怪,我的 PHP 服务器无法正确地通过$_FILES 获取文件。
这是我的基本设置,file 和 fileName 已预先填充。
const api = 'xxxx/api/file';
const body = new FormData();
body.append('files[]', file, fileName);
body.append('bid', 529);
const headers = {
'Content-Type': 'multipart/form-data',
'Authorization': 'Token xxxxxx'
};
当我使用 fetch API 时,post 请求看起来像这样,我的任何 PHP 服务器都无法获取 post 数据。
fetch(api, { method: 'POST', body, headers, mode: 'cors' });
但是当我使用 axios 时,请求是这样的,我的 PHP 服务器可以正确获取文件:
axios.post(api, body, { headers });
那么发生了什么? axios 做了什么不同的事情吗?
有没有办法在不使用 axios 的情况下实现这一点?
【问题讨论】:
标签: javascript php axios fetch-api