123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- // var baseurl = "http://192.168.2.105:8012/netdisk-web-perpc/";
- var baseurl = 'http://wpan.nxjiewei.com:8012/netdisk-web-perpc/';
- function guid() {
- function S4() {
- return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
- }
- return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
- }
- var chunkSize = 1048576; //每个切块的大小(1M)
- var threads = 2; //线程数
- var uuid = guid();
- var md5 = '',values = 0;
- var uploader=null;
- function init(){
- uploader = WebUploader.create({
- swf: 'Uploader.swf',
- server: baseurl+'disk/fileupload/uploadChunk',
- pick: '#picker',
- resize: false,
- auto:true,
- threads:threads,
- compress:false,//默认压缩,对jpg的md5计算产生影响
- chunkRetry:0,
- prepareNextFile:true,
- chunked:true,
- chunkSize:chunkSize,
- duplicate:false,//去重
- formData:{
- }
- });
- //第一步:加入队列
- uploader.on('fileQueued', function( file ) {
- // addNode(file.id,file.name,file.size);
- UIActionProgress.open({
- maskBg: 'rgba(0,0,0,0.5)',
- styles: {
- h: 108,
- bg: '#fff',
- title: {
- size: 13,
- color: '#000',
- marginT: 10
- },
- msg: {
- size: 12,
- color: '#000',
- marginT: 5
- },
- lable: {
- size: 12,
- color: '#696969',
- marginB: 5
- },
- progressBar: {
- size: 2,
- normal: '#000',
- active: '#4876FF',
- marginB: 35,
- margin: 5
- }
- },
- data: {
- title: '正在上传',
- msg: '',
- value: 0
- }
- },function(ret){
- });
- });
- //第二步:上传过程计算进度
- uploader.on('uploadProgress', function(file, percentage) {
- UIActionProgress.setData({
- data: {
- title: '正在上传...',
- msg: '',
- value: percentage*100
- }
- });
- });
- //第三步:上传完成合并切块
- uploader.on('uploadSuccess', function( file,response ) {
- // updateNode(file.id,3,"上传成功","","");
- uploader.removeFile(file,true);
- });
- //第四步:上传失败
- //报错让前端捕捉有两种方式:1)response.setStatus(500); 2)uploaderAccept返回false
- uploader.on('uploadError', function( file,reason ) {
- // updateNode(file.id,4,"上传失败","","");
- return false;
- });
- uploader.on('uploadAccept', function( object,res ) {
- if(res.code==1){
- api.toast({
- msg: '上传失败',
- duration: 2000,
- location: 'top'
- });
- UIActionProgress.close();
- return false;
- }
- });
- }
- //计算md5
- function getFileMd5(file,deferred,token){
- uploader.md5File(file).then(function(val) {
- var url=baseurl+"disk/fileupload/checkFile";
- md5 = val
- var args={
- "filemd5":val,
- "filename":file.name,
- "filesize":file.size,
- "token":token
- };
- $.post(url,args,function(data){
- if(data.code==0){
- if(data.data==1){
- uploader.skipFile(file);
- }
- deferred.resolve();
- }else{
- deferred.reject();
- }
- });
- });
- }
|