admin管理员组

文章数量:1516870

文件上传之切片

       今天主要讲讲文件切片,主要在上传大文件的时候需要用到,你想想,上传一个几百兆的大视频,但网络带宽又特别感人,一个不小心就报错造成上传失败,那是什么感受...

       进入正题,选择文件后,点击“确定”,首先计算出文件总大小,然后需要做什么呢,你需要告诉服务器这个大文件被切成了多少片,还得在每次上传的时候告诉它当前是第几片。最好加一个Date.now(),不然大家同时上传一个1.jpg,一到服务器就重名了,加了Date.now(),1_(时间戳).jpg就不会重名了。

       每次上传的Blob对象使用file.slice(start, end)完成:


注意红框标注的地方,每次上传都需要执行formData['delete'](fileName),至于原因已经在里面加入了,自己看哈。

下面是上传进度和上传速度的代码:

var xhr = ZUtil.getXHR(),
formData = new FormData(),
// 上次的时间戳
prev = new Date().getTime(),
// 以上传
load = 0,
// 文件大小
size = file.size,

本文标签: 文件上传之切片