问题
我一直在尝试设置内容分发头中的size
参数。
注:此处翻译的是标题和段落中的文本,保留了HTML标签。
function uploadFile(file) {
const data = new FormData();
data.append('file', file);
axios.post('url/of/endpoint', data);
FormData默认不发送大小参数,据我所知,也找不到一种设置方法。在Axios中有没有实现这个功能的方法?需要更底层的操作并构建自己的标头吗?
背景
我的主要目标是通过Java端点将文件输入流传送到S3。但是如果没有文件大小,所有数据都会加载到内存中,很可能会引起OOM异常。这个特定问题也已经在此处提出。是编写自己的字节缓冲区是唯一的方法吗?我应该停止懒惰并这样做吗?似乎是一个过于复杂的解决方案...
为什么文件大小通常不包括在FormData中?我尝试使用Content-Length,但它包括content-disposition头导致字节数不匹配。
size
或content-length
? - Kosh