|
1 | 1 | /*! |
2 | | - * qiniu-js-sdk v1.0.17-beta |
| 2 | + * qiniu-js-sdk v1.0.17.1 |
3 | 3 | * |
4 | 4 | * Copyright 2015 by Qiniu |
5 | 5 | * Released under GPL V2 License. |
6 | 6 | * |
7 | 7 | * GitHub: http://github.com/qiniu/js-sdk |
8 | 8 | * |
9 | | - * Date: 2016-9-30 |
| 9 | + * Date: 2016-10-11 |
10 | 10 | */ |
11 | 11 |
|
12 | 12 | /*global plupload ,mOxie*/ |
@@ -595,14 +595,25 @@ function QiniuJsSDK() { |
595 | 595 | return result; |
596 | 596 | }; |
597 | 597 |
|
598 | | - var getUpHosts = function(uptoken) { |
| 598 | + var getPutPolicy = function (uptoken) { |
599 | 599 | var segments = uptoken.split(":"); |
600 | 600 | var ak = segments[0]; |
601 | 601 | var putPolicy = that.parseJSON(that.URLSafeBase64Decode(segments[2])); |
| 602 | + putPolicy.ak = ak; |
| 603 | + if (putPolicy.scope.indexOf(":") >= 0) { |
| 604 | + putPolicy.bucket = putPolicy.scope.split(":")[0]; |
| 605 | + putPolicy.key = putPolicy.scope.split(":")[1]; |
| 606 | + } else { |
| 607 | + putPolicy.bucket = putPolicy.scope; |
| 608 | + } |
| 609 | + return putPolicy; |
| 610 | + }; |
| 611 | + |
| 612 | + var getUpHosts = function(uptoken) { |
| 613 | + var putPolicy = getPutPolicy(uptoken); |
602 | 614 | // var uphosts_url = "//uc.qbox.me/v1/query?ak="+ak+"&bucket="+putPolicy.scope; |
603 | 615 | // IE 9- is not support protocal relative url |
604 | | - var uphosts_url = window.location.protocol + "//uc.qbox.me/v1/query?ak="+ak+"&bucket="+putPolicy.scope; |
605 | | - logger.debug("ak: ", ak); |
| 616 | + var uphosts_url = window.location.protocol + "//uc.qbox.me/v1/query?ak=" + putPolicy.ak + "&bucket=" + putPolicy.bucket; |
606 | 617 | logger.debug("putPolicy: ", putPolicy); |
607 | 618 | logger.debug("get uphosts from: ", uphosts_url); |
608 | 619 | var ie = that.detectIEVersion(); |
@@ -718,7 +729,15 @@ function QiniuJsSDK() { |
718 | 729 |
|
719 | 730 | // get file key according with the user passed options |
720 | 731 | var getFileKey = function(up, file, func) { |
721 | | - // TODO: save_key can read from scope of token |
| 732 | + // WARNING |
| 733 | + // When you set the key in putPolicy by "scope": "bucket:key" |
| 734 | + // You should understand the risk of override a file in the bucket |
| 735 | + // So the code below that automatically get key from uptoken has been commented |
| 736 | + // var putPolicy = getPutPolicy(that.token) |
| 737 | + // if (putPolicy.key) { |
| 738 | + // logger.debug("key is defined in putPolicy.scope: ", putPolicy.key) |
| 739 | + // return putPolicy.key |
| 740 | + // } |
722 | 741 | var key = '', |
723 | 742 | unique_names = false; |
724 | 743 | if (!op.save_key) { |
@@ -923,7 +942,6 @@ function QiniuJsSDK() { |
923 | 942 | } |
924 | 943 | } |
925 | 944 |
|
926 | | - |
927 | 945 | up.setOption({ |
928 | 946 | 'url': qiniuUploadUrl, |
929 | 947 | 'multipart': true, |
|
0 commit comments