大文件上传,断点续传,秒传,fastdfs
项目介绍
实现h5与fastdfs之间的断点续传,大文件上传,秒传
软件架构
软件架构说明
webuploader+springboot+redis+fastdfs(服务端)+FastDFS_Client(非官网,这个客户端自带连接池)
安装教程
2.配置好application.properties地址运行项目即可
使用说明
1.上传前要先登录,
2.上传前端已封装成jquery插件,前端使用步骤
1)页面引用
2)定义dom元素
data-zw-upload-preview=""
data-zw-upload-preview-names="">
3)定义js代码
//上传
//上传
$("#user_other_documents").zwUploader({
accept: zwblankuploader_accept, //可以上传文件类型,一般用组件默认即可
createUploadBtn: zwblankuploader_createUploadBtn,
createUploadItem: zwblankuploader_createUploadItem,
uploadFinishedHandler:function (item) {
console.log('上传服务器路径:',item.find('.item_file_url').val())
}
});
注意:文件块的大小要根据实际的需要进行设置,我们项目实际设置的是3m,切片到底设置多大合适可参考
http://itindex.net/detail/49267
#下面代码段是本项目中文件分片大小设置的地方
Controller.prototype.uploader = function (pick) {
var accept =this.option.accept()||this.defaultAccept;
var runtimeOrder = this.option.runtimeOrder;
var flashPath = this.option.flashPath;
var uploadURLString = this.option.baseUrlString + this.option.uploadUrl;
return WebUploader.create({
swf: flashPath,
pick: pick,
server: uploadURLString,
accept: accept,
runtimeOrder: runtimeOrder,
resize: false,
compress: false,
auto:true,
chunkSize: 64,//1024 * 1024*3, //产品正式上线后,如果redis有未完成的文件,尽量不要修改次参数,否则会影响所有未完成的上传,
chunked: true,
threads:1,
// auto: true,
});
};
#其他说明请看 重要说明 文件