【发布时间】:2019-05-08 14:42:27
【问题描述】:
问题
我已经尝试在 content-disposition 标头中设置 size 参数已有一段时间了。
function uploadFile(file) {
const data = new FormData();
data.append('file', file);
axios.post('url/of/endpoint', data);
FormData 默认不发送 size 参数,据我所知,我看不到自己设置它的方法。有没有办法用 Axios 做到这一点?我是否需要更底层并构建自己的标头?
背景
我的主要目标是通过 Java 端点将文件输入流传输到 S3。但是如果没有文件大小,所有数据都会加载到内存中,并且很有可能导致 OOM 异常。这个具体问题has been asked here as well。写我自己的字节缓冲区是唯一的方法吗?我应该停止懒惰并这样做吗?似乎是一个过于复杂的解决方案...
文件大小通常不包含在 FormData 中是否有原因?我尝试过使用 Content-Length,但它包含 content-disposition 标头并导致字节数不匹配。
【问题讨论】:
-
你会用
size或content-length做什么? -
@KoshVery 将其提供给 Amazon SDK,以便它可以分解文件以进行多部分?再次,the context has been asked here。
-
如果存储在云dB而不是云文件存储中是否可以google.com/amp/s/amp.reddit.com/r/aws/comments/5s6g3n/…
-
Java 还是 JavaScript?
-
@Barmar 原题是针对Javascript,上下文涉及Java
标签: javascript http axios