我正在寻找一种在浏览器前端将任何文本/数据文件拆分成多个文件并上传的方法。我的限制是每次上传40KB。因此,如果用户上传一个400KB的文件,它会在前端将该文件拆分为10个单独的块或10个单独的文件,然后再将其上传到服务器。
目前,我通过将此文件转换为base64格式的字符串,然后将这个字符串拆分成40KB,这样就可以得到10个单独的块。然后我会将每个块上传,并以chunk-1-of-10、chunk-2-of-10等文件名来命名。
在下载这些文件时,我只需将所有这些块连接起来,并将其从base64重新转换为其文件格式。
有更好的方法吗?是否有一个库可以处理所有这些而不必从头开始编写?我不确定使用base64的方式是否是最佳方法。
console.log(await fetch(url, {method: 'post', body: fd}).then(res => res.text()))
- Sahilconst chunk = file.slice(start, start + chunkSize)
- Ralf Jahr