thinkphp+webuploader实现大文件分片上传

时间:2024-01-18 19:17:26

大文件分片上传,简单来说就是把大文件切分为小文件,然后再一个一个的上传,到最后由这些小文件再合并成原来的文件

webuploader下载地址及其文档:http://fex.baidu.com/webuploader/

webuploader涉及到分片配置的主要有以下参数,chunked,chunkSize,threads,其含义如下图所示

thinkphp+webuploader实现大文件分片上传

配置好之后,使用webuploader则会对文件进行自动分片上传,如下图

thinkphp+webuploader实现大文件分片上传

thinkphp+webuploader实现大文件分片上传

之后,webuploader有一个监听方法uploader.on('uploadSuccess', function( file ,res) {}),文件上传成功后触发,所以需要在这里进行合并文件的处理,如下如所示

thinkphp+webuploader实现大文件分片上传

用异步,调用mergeFile方法合并文件,guid是唯一标识,而且小文件也是以该标识来命名的,合并代码如下

thinkphp+webuploader实现大文件分片上传

其中,需要在小文件上传的时候把文件名记录在一个文本中,主要是用于记录上传文件的顺序的,因为合并小文件的时候需要按照文件上传的顺序来合并

thinkphp+webuploader实现大文件分片上传

其中chunks是判断是否分片,最终效果如下图

thinkphp+webuploader实现大文件分片上传

thinkphp+webuploader实现大文件分片上传