@@ -390,11 +390,16 @@ function QiniuJsSDK() {
390
390
var before = localFileInfo . time || 0 ;
391
391
var aDay = 24 * 60 * 60 * 1000 ; // milliseconds
392
392
if ( now - before < aDay ) {
393
- file . loaded = localFileInfo . offset ;
394
- file . percent = localFileInfo . percent ;
395
- ctx = localFileInfo . ctx ;
396
- if ( localFileInfo . offset + blockSize > file . size ) {
397
- blockSize = file . size - localFileInfo . offset ;
393
+ if ( localFileInfo . percent !== 100 ) {
394
+ file . percent = localFileInfo . percent ;
395
+ file . loaded = localFileInfo . offset ;
396
+ ctx = localFileInfo . ctx ;
397
+ if ( localFileInfo . offset + blockSize > file . size ) {
398
+ blockSize = file . size - localFileInfo . offset ;
399
+ }
400
+ } else {
401
+ // 进度100%时,删除对应的localStorage,避免 499 bug
402
+ localStorage . removeItem ( file . name ) ;
398
403
}
399
404
} else {
400
405
localStorage . removeItem ( file . name ) ;
@@ -479,7 +484,7 @@ function QiniuJsSDK() {
479
484
errorObj = that . parseJSON ( errorObj . error ) ;
480
485
errorText = errorObj . error || 'file exists' ;
481
486
} catch ( e ) {
482
- throw ( 'invalid json format' ) ;
487
+ errorText = errorObj . error || 'file exists' ;
483
488
}
484
489
break ;
485
490
case 631 :
@@ -589,10 +594,10 @@ function QiniuJsSDK() {
589
594
ajax . setRequestHeader ( 'Authorization' , 'UpToken ' + that . token ) ;
590
595
ajax . onreadystatechange = function ( ) {
591
596
if ( ajax . readyState === 4 ) {
597
+ localStorage . removeItem ( file . name ) ;
592
598
if ( ajax . status === 200 ) {
593
599
var info = ajax . responseText ;
594
600
last_step ( up , file , info ) ;
595
- localStorage . removeItem ( file . name ) ;
596
601
} else {
597
602
uploader . trigger ( 'Error' , {
598
603
status : ajax . status ,
0 commit comments