vue-simple-upload icon indicating copy to clipboard operation
vue-simple-upload copied to clipboard

文件大于50M上传好像有问题,文件取的最后一次分片

Open jalin0125 opened this issue 4 years ago • 6 comments

jalin0125 avatar Dec 16 '20 08:12 jalin0125

一样,文件上传大于50M好像就出问题了

zhaofuwei avatar Dec 25 '20 06:12 zhaofuwei

你们有这个问题?我这试过上传几个G都正常。

debug-null avatar Feb 02 '21 11:02 debug-null

@debug-null 非常感谢您的分享。有个问题还请您修复一下:当文件上传大于50M时,最终只在target文件夹中保留50M。我不太懂后端,希望您能够提供一下修复的代码。非常感谢您

chiyandetaotie avatar May 08 '21 03:05 chiyandetaotie

image

image 上传成功之后文件打不开,并且大小不对

YangYuHub avatar Oct 14 '21 07:10 YangYuHub

调试成功了,把修改的点总结了一下

1、package.json 中57行改成 "multiparty": "^4.2.2",

2、package.json 中修改第7和8行 "start": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", "server": "set NODE_OPTIONS=--openssl-legacy-provider && node server/index.js",

3、App.vue 中52行修改成 zip: [ 'application/zip', 'zip', 'application/octet-stream', 'application/x-zip', 'application/x-zip-compressed' ]

4、simple.vue 493行修改成 fileChunkNum: chunkSize, 5、simple.vue 532行修改成 file: file.slice(count, count + size > file.size ? file.size : count + size)

6、controller.js 33行 修改成 chunkPaths.sort((a, b) => parseInt(a, 10) - parseInt(b, 10)); 7、controller.js 删除41行 end: (index + 1) * size 修改成 flush: true 8、controller.js 删除66、67行的 const ext = extractExt(fileName); const filePath = path.resolve(UPLOAD_DIR, ${md5}${ext}); 修改成: const filePath = path.resolve(UPLOAD_DIR, fileName);

9、controller.js 删除 89和90行 修改成 const chunkDir = path.resolve(UPLOAD_DIR, hash); const filePath = path.resolve(chunkDir, filename); 10、nodejs IntelliJ IDEA debug后台调试配置 参照https://www.jetbrains.com/help/idea/running-and-debugging-node-js.html#running 11、postman调试后台接口 url: http://localhost:3000/fileChunk/merge

body raw参数: { "md5": "fa7f8545b456a73463b4ccc652e730c1", "fileName": "fa7f8545b456a73463b4ccc652e730c1.zip", "fileChunkNum": 1048576 } header参数: Accept:application/json, text/plain, / Accept-Encoding:gzip, deflate, br Accept-Language:zh-CN,zh;q=0.9,ko;q=0.8 Authorization:token Cache-Control:no-cache Connection:keep-alive Content-Type:application/json;charset=UTF-8 Host:localhost:3000 Origin:http://localhost:8080 Pragma:no-cache Referer:http://localhost:8080/ Sec-Ch-Ua:"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24" Sec-Ch-Ua-Mobile:?0 Sec-Ch-Ua-Platform:"Windows" Sec-Fetch-Dest:empty Sec-Fetch-Mode:cors Sec-Fetch-Site:same-site User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36

debuggubed avatar Jan 12 '24 13:01 debuggubed

大家要是修复了,就提交个merge,感谢~

debug-null avatar Jan 15 '24 02:01 debug-null