File tree Expand file tree Collapse file tree 1 file changed +22
-9
lines changed Expand file tree Collapse file tree 1 file changed +22
-9
lines changed Original file line number Diff line number Diff line change 158158if ( options . _chunked ) {
159159// chunked upload
160160if ( xhr . upload ) {
161- xhr . upload . addEventListener ( 'progress' , function ( /**Event*/ evt ) {
161+ xhr . upload . addEventListener ( 'progress' , api . throttle ( function ( /**Event*/ evt ) {
162162if ( ! data . retry ) {
163163 // show progress only for correct chunk uploads
164164options . progress ( {
168168, totalSize :data . size
169169} , _this , options ) ;
170170}
171- } , false ) ;
171+ } , 100 ) , false ) ;
172172}
173173
174174xhr . onreadystatechange = function ( ) {
204204data . end = lkb ;
205205} else {
206206data . end = data . start - 1 ;
207+ if ( 416 == xhr . status ) {
208+ data . end = data . end - options . chunkSize ;
209+ }
207210}
208211
209212setTimeout ( function ( ) {
237240}
238241}
239242xhr = null ;
243+ if ( slice ) {
244+ slice = null ;
245+ }
240246}
241247} ;
242248
246252var slice ;
247253( slice = 'slice' ) in data . file || ( slice = 'mozSlice' ) in data . file || ( slice = 'webkitSlice' ) in data . file ;
248254
249- xhr . setRequestHeader ( "Content-Range" , "bytes " + data . start + "-" + data . end + "/" + data . size ) ;
250- xhr . setRequestHeader ( "Content-Disposition" , 'attachment; filename=' + encodeURIComponent ( data . name ) ) ;
251- xhr . setRequestHeader ( "Content-Type" , data . type || "application/octet-stream" ) ;
252-
253- slice = data . file [ slice ] ( data . start , data . end + 1 ) ;
254-
255- xhr . send ( slice ) ;
255+ slice = data . file [ slice ] ( data . start , data . end + 1 ) ;
256+
257+ if ( data . size && ! slice . size ) {
258+ setTimeout ( function ( ) {
259+ _this . end ( - 1 ) ;
260+ } )
261+ } else {
262+ xhr . setRequestHeader ( "Content-Range" , "bytes " + data . start + "-" + data . end + "/" + data . size ) ;
263+ xhr . setRequestHeader ( "Content-Disposition" , 'attachment; filename=' + encodeURIComponent ( data . name ) ) ;
264+ xhr . setRequestHeader ( "Content-Type" , data . type || "application/octet-stream" ) ;
265+
266+ xhr . send ( slice ) ;
267+ }
268+
256269slice = null ;
257270} else {
258271// single piece upload
You can’t perform that action at this time.
0 commit comments