Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript在内容处置标头中设置大小参数 问题_Javascript_Http_Axios - Fatal编程技术网

使用Javascript在内容处置标头中设置大小参数 问题

使用Javascript在内容处置标头中设置大小参数 问题,javascript,http,axios,Javascript,Http,Axios,很长一段时间以来,我一直试图在contentdisposition标题中设置size参数 function uploadFile(file) { const data = new FormData(); data.append('file', file); axios.post('url/of/endpoint', data); FormData默认情况下不发送size参数,据我所知,我自己也看不到设置它的方法。有没有办法用Axios做到这一点?我是否需要更低级地构建

很长一段时间以来,我一直试图在contentdisposition标题中设置
size
参数

function uploadFile(file) {
    const data = new FormData();
    data.append('file', file);

    axios.post('url/of/endpoint', data);
FormData默认情况下不发送size参数,据我所知,我自己也看不到设置它的方法。有没有办法用Axios做到这一点?我是否需要更低级地构建自己的头文件

上下文 我的主要目标是通过Java端点将文件输入流输送到S3。但如果没有文件大小,所有数据都会加载到内存中,很有可能导致OOM异常。这是一个具体的问题。写我自己的字节缓冲区是唯一的方法吗?我是不是应该停止偷懒,那样做?似乎是一个过于复杂的解决方案


FormData中通常不包含文件大小的原因是什么?我尝试过使用内容长度,但这包括内容处置标头,并导致字节计数不匹配。

对,所以在办公室巡视之后。。。然后给我的朋友们。。。我得出的结论是,这是Java的一个缺点。好吧,不是最初的问题,而是多部分上传需要总文件大小这一事实。因此,我目前使用的实现,让我感觉非常脏,是在客户端添加一个FormData项
size

function uploadFile(file) {
    const data = new FormData();
    data.append('size', file.size.toString());
    data.append('file', file);

    axios.post('url/of/endpoint', data);

然后更新后端以将该大小传递给S3SDK。。。oof.

您会如何处理
大小
内容长度
?@KoshVery将其交给Amazon SDK,这样它就可以将文件分解为多部分?同样,。如果存储在云数据库而不是云文件存储Java或JavaScript中,是否可能?@Barmar最初的问题是关于JavaScript,上下文涉及Java