Javascript 增加chrome中获取api的最大主体大小
我试图使用上传大文件,但当我在chrome上发布大于128MB的数据,在Firefox上发布大于256MB的数据时,遇到了一个问题。我的问题是,通过在chrome或firefox中进行配置,是否可以增加这个最大值?我只是做错了吗?是否有更好的方法异步发布大数据 下面是一个简短的示例,说明了问题:Javascript 增加chrome中获取api的最大主体大小,javascript,google-chrome,fetch,fetch-api,Javascript,Google Chrome,Fetch,Fetch Api,我试图使用上传大文件,但当我在chrome上发布大于128MB的数据,在Firefox上发布大于256MB的数据时,遇到了一个问题。我的问题是,通过在chrome或firefox中进行配置,是否可以增加这个最大值?我只是做错了吗?是否有更好的方法异步发布大数据 下面是一个简短的示例,说明了问题: 当你点击“Go”按钮时,它将启动一个大小为128MB的POST请求。在chrome中,这会导致框架崩溃。您不应以字符串形式上载文件;这也适用于旧商品XMLHttpRequest。您可能会遇到服务器或浏览
当你点击“Go”按钮时,它将启动一个大小为128MB的POST请求。在chrome中,这会导致框架崩溃。您不应以字符串形式上载文件;这也适用于旧商品
XMLHttpRequest
。您可能会遇到服务器或浏览器(您当前所面对的浏览器)的限制
使用多部分上传一个Blob
,例如。G像他们一样:
我发现在发布大量数据时,使用a可以减轻firefox引发的内存不足错误和chrome崩溃。 在查看其他答案和答案后,我找到了
Blob
用法
我使用了一个字符串来证明它不仅仅用于文件。这是对身体尺寸的限制。对不起,我不清楚这不正是重复我的答案吗?这就是这里所建议的:使用blob而不是string。这很奇怪,问一个问题,避免给那些解决你问题的人评分。不,不一样@smnbbrv。您将
FormData
与blob一起用于多部分表单post中的字段,这在我的问题中不存在。我的回答说明了它可以应用于整个帖子正文,在我的例子中,它是一个大的JSON文档,可以包含一个非常大的文件的内容。我觉得我从网站上得到的答案更适合我提出的问题
function performFetch() {
const megabytes = document.getElementById( 'megabytes' ).value * 1;
const largeString = (new Array(megabytes * 1024 * 1024 )).join("x");
const options = {
redirect: 'follow',
method: 'POST',
body: largeString
};
fetch( 'https://jsfiddle.net/', options ).then( () => {
console.log( 'success' )
} )
}
const formData = new FormData()
formData.append('blob', new Blob(['Hello World!\n']), 'test')
fetch('http://localhost:5001/api/v0/add', {
method: 'POST',
body: formData
})
.then(r => r.json())
.then(data => {
console.log(data)
})
function performFetch() {
const megabytes = document.getElementById( 'megabytes' ).value * 1;
const largeString = (new Array(megabytes * 1024 * 1024 )).join("x");
const options = {
redirect: 'follow',
method: 'POST',
body: new Blob( [ largeString ], { type: 'text/plain' } )
};
fetch( 'http://example.com', options ).then( () => {
console.log( 'success' )
} )
}