注:前端是使用的百度的 webuploader 插件实现的分片上传,这个样例最好来处理分为大
于 1 片的文件,在入口处可以检测有没 chunk 属性来判断是若干片还是只有一片,只有一
片的话,直接使用普通方法就好。这里不多赘述。
该方法只是个示例,实际使用应该进行封装。
前端 webuploader 依赖 jquery 版本应高于 1.9
前端:
var $list = $("#thelist"),
$list = $('#thelist'),
$btn = $('#ctlBtn'),
state = 'pending',
uploader;
uploader = WebUploader.create({
// swf 文件路径
swf: '/webuploader/Uploader.swf',
// 文件接收服务端。
server: 'http://172.16.18.118:8080/upload2.do',
// 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是 input 元素,也可能是 flash.
pick: {
id: '#picker',
label: '点击选择图片'
},
formData: {
uid: uuid()
},
chunked: true,
chunkSize: 5 * 1024 * 1024,
// 不压缩 image, 默认如果是 jpeg,文件上传前会压缩一把再上传!
resize: false,
// fileNumLimit: 300,
// fileSizeLimit: 200 * 1024 * 1024, // 200 M
// fileSingleSizeLimit: 50 * 1024 * 1024 // 50 M
});
// 当有文件被添加进队列的时候
uploader.on( 'fileQueued', function( file ) {
$list.append( '<div id="' + file.id + '" class="item">' +
'<h4 class="info">' + file.name + '</h4>' +
评论0