老师,这边是只能上传两个切片的吗,我通过设置分片大小得到不同的分片数,当分片大小比较小的时候,分片数大于2了,最后就上传不成功;当分片数等于2,就成功了

来源:9-3 分片上传功能开发2

Leisure80

2021-04-26

输入正文

写回答

2回答

慕圣7224207

2022-03-22

你准确的说其实只上传成功了一个分片,第二个分片其实就没上传成功,
不信你可以看看第二个分片的大小实际上是0,
报错原因是因为file.size空指针了,
因为let file = _this.$refs.file.files[0];获取到的file,在第一次调用upload后,
设置了$("#" + _this.inputId + "-input").val("");
这导致你第二次递归调用upload时,计算第二个分片的时候,
通过 let file = _this.$refs.file.files[0];获取到的file实际上为空。
所以就报错了,你把upload方法里的$("#" + _this.inputId + "-input").val("")使用位置放在else框里面。

我今天就是放错了层级。



今天我也踩过这个坑,不过总算找到原因了。。。
3
2
慕姐8386847
但是不知道为什么第二个分片的大小属性里显示的还是20M而不是0,前端也是上传了两个分片才报错,后端也是一个insert一个update
2022-04-04
共2条回复

甲蛙

2021-04-26

2个分片只是开始的时候验证分片上传用的,后面是改成支持任意分片的。

你可以把每次上传的分片索引、开始、结束等相关的变量打印出来调试看看

0
0

Spring Cloud+ Vue前后端分离开发企业级在线视频系统

全网稀缺课程 市场热门项目+主流框架 一课掌握前后端技术

1743 学习 · 1697 问题

查看课程