@@ -18,6 +18,15 @@ var cos = new COS({
1818} ) ;
1919var TaskId ;
2020
21+ function camSafeUrlEncode ( str ) {
22+ return encodeURIComponent ( str )
23+ . replace ( / ! / g, '%21' )
24+ . replace ( / ' / g, '%27' )
25+ . replace ( / \( / g, '%28' )
26+ . replace ( / \) / g, '%29' )
27+ . replace ( / \* / g, '%2A' ) ;
28+ }
29+
2130function getService ( ) {
2231 cos . getService ( function ( err , data ) {
2332 console . log ( err || data ) ;
@@ -32,7 +41,7 @@ function getAuth() {
3241 Expires : 60 ,
3342 } ) ;
3443 // 注意:这里的 Bucket 格式是 test-1250000000
35- console . log ( 'http://' + config . Bucket + '.cos.' + config . Region + '.myqcloud.com' + '/' + encodeURIComponent ( key ) . replace ( / % 2 F / g, '/' ) + '?sign=' + encodeURIComponent ( auth ) ) ;
44+ console . log ( 'http://' + config . Bucket + '.cos.' + config . Region + '.myqcloud.com' + '/' + camSafeUrlEncode ( key ) . replace ( / % 2 F / g, '/' ) + '?sign=' + encodeURIComponent ( auth ) ) ;
3645}
3746
3847function getV4Auth ( ) {
@@ -44,7 +53,7 @@ function getV4Auth() {
4453 Expires : 60 ,
4554 } ) ;
4655 // 注意:这里的 Bucket 格式是 test-1250000000
47- console . log ( 'http://' + config . Bucket + '.cos.' + config . Region + '.myqcloud.com' + '/' + encodeURIComponent ( key ) . replace ( / % 2 F / g, '/' ) + '?sign=' + encodeURIComponent ( auth ) ) ;
56+ console . log ( 'http://' + config . Bucket + '.cos.' + config . Region + '.myqcloud.com' + '/' + camSafeUrlEncode ( key ) . replace ( / % 2 F / g, '/' ) + '?sign=' + encodeURIComponent ( auth ) ) ;
4857}
4958
5059function getObjectUrl ( ) {
@@ -473,7 +482,7 @@ function putObjectCopy() {
473482 Bucket : config . Bucket , // Bucket 格式:test-1250000000
474483 Region : config . Region ,
475484 Key : '1mb.copy.zip' ,
476- CopySource : config . Bucket + '.cos.' + config . Region + '.myqcloud.com/' + encodeURIComponent ( '1mb.zip' ) . replace ( / % 2 F / g, '/' ) ,
485+ CopySource : config . Bucket + '.cos.' + config . Region + '.myqcloud.com/' + camSafeUrlEncode ( '1mb.zip' ) . replace ( / % 2 F / g, '/' ) ,
477486 } , function ( err , data ) {
478487 console . log ( err || data ) ;
479488 } ) ;
@@ -706,7 +715,7 @@ function sliceCopyFile() {
706715 var sourceName = '3mb.zip' ;
707716 var Key = '3mb.copy.zip' ;
708717
709- var sourcePath = config . Bucket + '.cos.' + config . Region + '.myqcloud.com/' + encodeURIComponent ( sourceName ) . replace ( / % 2 F / g, '/' ) ;
718+ var sourcePath = config . Bucket + '.cos.' + config . Region + '.myqcloud.com/' + camSafeUrlEncode ( sourceName ) . replace ( / % 2 F / g, '/' ) ;
710719
711720 cos . sliceCopyFile ( {
712721 Bucket : config . Bucket , // Bucket 格式:test-1250000000
0 commit comments