如何解决即使在 XMLHttpRequest (JavaScript/ReactJS) 上切片后上传大文件时浏览器也会崩溃
一段时间以来,我一直试图找到一个明确的答案,因为有些只适用于例如大型 CSV 文件。
以下代码非常适合较小的文件,当文件大小超过 100 MB 时,上传过程显然会占用大量内存。
我也已经将文件切成更小的块,但显然文件的初始读取导致了这个问题。
问题:我应该如何更改以下代码以防止发生崩溃?
{'executed':true/false}
解决方法
这是一种通过切片和读取数据上传文件的糟糕方式。 直接发送文件而不读取内容
const res = await fetch('URL_GOES_HERE',{
method: 'post',body: file
})
await res.text()
如果您真的需要使用块部分上传它们,那么只需将 blob 切片并上传,而无需发送数组缓冲区
chunk_to_send = file.slice(start,end)
xhr.send(chunk_to_send)
浏览器将能够将数据作为流传输并上传,而无需担心内存问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。