腾讯云对象存储,PHP与JS对接版本
来源:互联网 发布:中国买俄罗斯石油知乎 编辑:程序博客网 时间:2024/03/29 18:40
这几天使用了一下腾讯云的COS对象存储服务,发现在使用中遇到了一些问题,在此记录下来,一是做个记录,二是希望以我的经验帮助到其他的人。
1、PHP与JS基本使用指南
在我使用腾讯云的COS对象存储服务时,其已经出了V4版本的了;因此之后的内容都是基于V4版本之上的。PHP与JS的基本使用,个人觉得其GITHUB上的文档基本可以理解了;但是在JS上还是出现了问题。
PHPSDK的地址:https://github.com/tencentyun/cos-php-sdk-v4。
JSSDK的地址:https://github.com/tencentyun/cos-js-sdk-v4。
2、JS上的问题
之前在使用其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 = '';//多次签名这里填空 var str = 'a=' + self.appid + '&k=' + sid + '&e=' + e + '&t=' + now + '&r=' + random + '&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 () {//setTimeout模拟一下网络延迟的情况 callback(encodeURIComponent(res)); }, 1000);但是,这样使用就报错了,记忆中是ERROR_PROXY_APPID_USERID_NOTMATCH错误,感觉很是不可思议,觉得自己已经把自己的appid, key等东西都写死在这个程序里了,怎么会出现这个错误,然后上网搜索,发现有人提到要将self.appid与self.bucket去掉;然后去掉了,果然不报这个错误了,该为另一个错误,变成了签名过期的错误。很是莫名其妙的。然后查了好多时间都没有发现问题在哪里。
3、JS与PHP前后端对接
PHP端的接口我用时还没有发现什么错误,但是当前端小伙伴和我说其JS测试失败了,我就准备使用PHP生成密钥发给JS,然后上传看能不能成功。
V4对应的文档应该是:https://www.qcloud.com/document/product/436。(本人一开始看错文档了)
文档清楚的介绍了签名算法的实现,但是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。然后就成功了。
0 0
- 腾讯云对象存储,PHP与JS对接版本
- 腾讯云对象存储服务(cos)之PHP实践
- 腾讯云对象存储——Node.js SDK
- 腾讯云对象存储 cos-js-sdk-v4 踩坑记
- 纯JSP与腾讯微信对接
- PHP与安卓对接
- COS腾讯云对象存储的集成
- 腾讯云-对象存储-签名失败
- 腾讯云服务端对接流程(独立模式)
- PHP对象的存储与传输
- php与国付宝对接过程吐槽
- php AES/CBC/PKCS5Padding 与java对接
- PHP对接
- 腾讯云 centos6.5 PHP版本升级php7
- 腾讯云COS(云对象存储服务)的使用
- 腾讯云对象存储服务(COS) Python3 SDK
- 迈思德网关与百度最新版本物管理对接成功
- 【云存储】对象存储管理与安全
- 基于NIOS-II的示波器:PART2 界面动态显示功能
- 数据访问路径学习总结(索引分类)
- python学习笔记5--切片
- 《Java高并发程序设计》学习 --4.4 无锁
- python进程
- 腾讯云对象存储,PHP与JS对接版本
- Nexus SSR激活
- CODE CSDN Git 配制方法介绍
- mysql、orcl中database、schema、user之间的关系
- 从武则天的故事看职场生涯规划的一个最重要方面
- 用des3算法加密文件
- Firefox导出Excel报表为Html格式
- C#美化窗体--IrisSkin4
- 前端学习方向