@@ -63,7 +63,7 @@ var getAuth = function (opt) {
6363 key = key . toLowerCase ( ) ;
6464 key = camSafeUrlEncode ( key ) ;
6565 val = camSafeUrlEncode ( val ) || '' ;
66- list . push ( key + '=' + val )
66+ list . push ( key + '=' + val )
6767 }
6868 return list . join ( '&' ) ;
6969 } ;
@@ -188,20 +188,24 @@ var getFileMd5 = function (readStream, callback) {
188188 callback ( null , hash ) ;
189189 } ) ;
190190} ;
191+
191192function clone ( obj ) {
192193 return map ( obj , function ( v ) {
193194 return typeof v === 'object' ? clone ( v ) : v ;
194195 } ) ;
195196}
197+
196198function extend ( target , source ) {
197199 each ( source , function ( val , key ) {
198200 target [ key ] = source [ key ] ;
199201 } ) ;
200202 return target ;
201203}
204+
202205function isArray ( arr ) {
203206 return arr instanceof Array ;
204207}
208+
205209function isInArray ( arr , item ) {
206210 var flag = false ;
207211 for ( var i = 0 ; i < arr . length ; i ++ ) {
@@ -212,13 +216,15 @@ function isInArray(arr, item) {
212216 }
213217 return flag ;
214218}
219+
215220function each ( obj , fn ) {
216221 for ( var i in obj ) {
217222 if ( obj . hasOwnProperty ( i ) ) {
218223 fn ( obj [ i ] , i ) ;
219224 }
220225 }
221226}
227+
222228function map ( obj , fn ) {
223229 var o = isArray ( obj ) ? [ ] : { } ;
224230 for ( var i in obj ) {
@@ -228,6 +234,7 @@ function map(obj, fn) {
228234 }
229235 return o ;
230236}
237+
231238function filter ( obj , fn ) {
232239 var iaArr = isArray ( obj ) ;
233240 var o = iaArr ? [ ] : { } ;
@@ -244,6 +251,7 @@ function filter(obj, fn) {
244251 }
245252 return o ;
246253}
254+
247255var binaryBase64 = function ( str ) {
248256 var i , len , char , arr = [ ] ;
249257 for ( i = 0 , len = str . length / 2 ; i < len ; i ++ ) {
@@ -417,6 +425,7 @@ var throttleOnProgress = function (total, onProgress) {
417425 var time0 = Date . now ( ) ;
418426 var time1 ;
419427 var timer ;
428+
420429 function update ( ) {
421430 timer = 0 ;
422431 if ( onProgress && ( typeof onProgress === 'function' ) ) {
@@ -436,6 +445,7 @@ var throttleOnProgress = function (total, onProgress) {
436445 }
437446 }
438447 }
448+
439449 return function ( info , immediately ) {
440450 if ( info ) {
441451 size1 = info . loaded ;
@@ -453,61 +463,49 @@ var throttleOnProgress = function (total, onProgress) {
453463
454464var getFileSize = function ( api , params , callback ) {
455465 var size ;
456- if ( util . isBrowser ) {
457- if ( typeof params . Body === 'string' ) {
458- params . Body = new global . Blob ( [ params . Body ] ) ;
459- }
460- if ( params . Body instanceof global . File || params . Body instanceof global . Blob ) {
461- size = params . Body . size ;
466+ if ( api === 'sliceUploadFile' ) {
467+ if ( params . FilePath ) {
468+ fs . stat ( params . FilePath , function ( err , fileStats ) {
469+ if ( err ) {
470+ if ( params . ContentLength !== undefined ) {
471+ size = params . ContentLength ;
472+ } else {
473+ callback ( err ) ;
474+ return ;
475+ }
476+ } else {
477+ params . FileStat = fileStats ;
478+ params . FileStat . FilePath = params . FilePath ;
479+ size = fileStats . isDirectory ( ) ? 0 : fileStats . size ;
480+ }
481+ params . ContentLength = size = size || 0 ;
482+ callback ( null , size ) ;
483+ } ) ;
484+ return ;
462485 } else {
463- callback ( { error : 'params body format error, Only allow File|Blob|String. ' } ) ;
486+ callback ( { error : 'missing param FilePath ' } ) ;
464487 return ;
465488 }
466489 } else {
467- if ( api === 'sliceUploadFile' ) {
468- if ( params . FilePath ) {
469- fs . stat ( params . FilePath , function ( err , fileStats ) {
470- if ( err ) {
471- if ( params . ContentLength !== undefined ) {
472- size = params . ContentLength ;
473- } else {
474- callback ( err ) ;
475- return ;
476- }
477- } else {
478- params . FileStat = fileStats ;
479- params . FileStat . FilePath = params . FilePath ;
480- size = fileStats . isDirectory ( ) ? 0 : fileStats . size ;
481- }
482- params . ContentLength = size = size || 0 ;
483- callback ( null , size ) ;
484- } ) ;
485- return ;
486- } else {
487- callback ( { error : 'missing param FilePath' } ) ;
488- return ;
490+ if ( params . Body !== undefined ) {
491+ if ( typeof params . Body === 'string' ) {
492+ params . Body = global . Buffer . from ( params . Body ) ;
489493 }
490- } else {
491- if ( params . Body !== undefined ) {
492- if ( typeof params . Body === 'string' ) {
493- params . Body = global . Buffer . from ( params . Body ) ;
494- }
495- if ( params . Body instanceof global . Buffer ) {
496- size = params . Body . length ;
497- } else if ( typeof params . Body . pipe === 'function' ) {
498- if ( params . ContentLength === undefined ) {
499- size = undefined ;
500- } else {
501- size = params . ContentLength ;
502- }
494+ if ( params . Body instanceof global . Buffer ) {
495+ size = params . Body . length ;
496+ } else if ( typeof params . Body . pipe === 'function' ) {
497+ if ( params . ContentLength === undefined ) {
498+ size = undefined ;
503499 } else {
504- callback ( { error : 'params Body format error, Only allow Buffer|Stream|String.' } ) ;
505- return ;
500+ size = params . ContentLength ;
506501 }
507502 } else {
508- callback ( { error : 'missing param Body' } ) ;
503+ callback ( { error : 'params Body format error, Only allow Buffer|Stream|String. ' } ) ;
509504 return ;
510505 }
506+ } else {
507+ callback ( { error : 'missing param Body' } ) ;
508+ return ;
511509 }
512510 }
513511 params . ContentLength = size ;
@@ -542,7 +540,8 @@ var util = {
542540( function ( ) {
543541 try {
544542 configStore = new ConfigStore ( 'cos-nodejs-sdk-v5-storage' ) ;
545- } catch ( e ) { }
543+ } catch ( e ) {
544+ }
546545 var map = { } ;
547546 var update = function ( key , val ) {
548547 if ( map . hasOwnProperty ( key ) ) {
0 commit comments