|
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