gpt4 book ai didi

javascript - 使用 Javascript 在内容配置 header 中设置大小参数

转载 作者:可可西里 更新时间:2023-11-01 16:20:15 26 4
gpt4 key购买 nike

问题

我已经尝试在内容配置 header 中设置 size 参数很长一段时间了。

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

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

默认情况下,FormData 不发送大小参数,据我所知,我看不到自己设置它的方法。有没有办法用 Axios 做到这一点?我是否需要更底层并构建自己的 header ?

背景

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

文件大小通常不包含在 FormData 中是否有原因?我试过使用 Content-Length,但它包含内容配置 header 并导致字节数不匹配。

最佳答案

是的,所以在办公室转了一圈之后……然后给我的 friend 们……我得出的结论是这是 Java 的缺点。好吧,不是最初的问题,而是分段上传需要总文件大小的事实。因此,我目前正在使用的实现(这让我觉得 super 肮脏)是在客户端添加一个 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);

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

关于javascript - 使用 Javascript 在内容配置 header 中设置大小参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53659243/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com