騰訊雲物件儲存,PHP與JS對接版本

2021-07-29 01:52:00 字數 1362 閱讀 5513

之前在使用其jssdk時,一開始想測試其單獨使用時是否可以使用,便使用了其給的樣例,直接給到其key進行加密。但是使用其樣例中的**:

(ps:這些問題都是前端小夥伴們遇到的)

var self = this;

var random = parseint(math.random() * math.pow(2, 32));

var now = parseint(new date().gettime() / 1000);

var e = now + 60; //簽名過期時間為當前+60s

var path = '';//多次簽名這裡填空

'&f=' + path + '&b=' + self.bucket;

var sha1res = cryptojs.hmacsha1(str, skey);//這裡使用cryptojs計算sha1值,你也可以用其他開源庫或自己實現

var strwordarray = cryptojs.enc.utf8.parse(str);

var reswordarray = sha1res.concat(strwordarray);

var res = reswordarray.tostring(cryptojs.enc.base64);

settimeout(function () , 1000);

變成了簽名過期的錯誤。

很是莫名其妙的。然後查了好多時間都沒有發現問題在**。

php端的介面我用時還沒有發現什麼錯誤,但是當前端小夥伴和我說其js測試失敗了,我就準備使用php生成金鑰發給js,然後上傳看能不能成功。

v4對應的文件應該是:本人一開始看錯文件了)

文件清楚的介紹了簽名演算法的實現,但是phpsdk中已經有了實現了。其在

中的auth.php,我使用的是:

createreusablesignature($expiration, $bucket, $filepath = null)方法,很簡單,只要傳入三個引數就可以生成簽名。

於是可以利用js中的樣例訪問你生成簽名的介面,獲得簽名後就可以進行操作了。但是在這裡我又失敗了,出現了乙個莫名的錯誤:fileid不匹配的問題。然後就很困惑。因為這裡都沒有讓我們填fileid的相關事務。

於是之後我又仔細看了看js的上傳介面:

cos.uploadfile(successcb, errorcb, progresscb, bucket, myfolder + 'test1.zip', file, 1);

發現乙個問題,就是在這裡填寫了乙個我們的檔案路徑了,然後在php生成金鑰當中是不是就該不填$filepath的值了,於是我就將其$filepath取預設的null。然後就成功了。

騰訊雲簡訊對接PHP

一帆風順的來到了php對接,這裡主要composer的使用 1 安裝 可以使用命令列安裝 php r copy composer setup.php php composer setup.phpphp r unlink composer setup.php 詳情參考 這裡列出composer的幾種常...

騰訊雲 物件儲存

看案例 test public void list 刪除物件 指定物件在 cos 上的物件鍵 string key dasdada.jpg 的名稱 cosclient.deleteobject bucketname,key 上傳本地物件到儲存桶中 設定儲存型別為低頻 putobjectrequest...

騰訊雲物件儲存

小程式sdk 使用示例 小程式端 uploadfile function success function result for var index in this.data.imagelist function err,data 服務端示例 如python端python端使用 class cred...