微信小程序上传图片至战略情报局的一些个人总结
这两天修改公司小程序的一些功能,发现上传图片至战略情报局失败,便一直寻找出现了什么问题,最后发现是政策过期,更改后发现相应的签名也要改,因为需要特定的处理才能生成签名,当时好一顿查资料,最后算出签名,在这里做一下总结。
首先,准备工作:
1.下载Base64.js,hmac.js,sha1.js,crypto.js相关算法点击。
2.创建一个用于计算的政策和标记的射流研究…文件,我们只要输出结果即可。我们起名为ceshi.js。
3.在ceshi.js引入我们下载的四个算法文件。
const Base64=require(' ./Base 64。js’);要求('。/hmac。js’);要求('。/sha1。js’);const Crypto=require(' ./crypto。js’);
一、先转码Policy
在ceshi.js
让日期=新日期();约会。sethours(日期。get hours)(87677);让srcT=日期。toisostring();const PoLicy text={ ' expirement ' : SRCt,//设置该政策的失效时间条件' : [ ['内容-长度-范围',0,5 * 1024 * 1024] //设置上传文件的大小限制,5mb]};const policy base64=base64。编码(JSON。stringify(策略文本));使用此射流研究…可计算出一个政策
二、计算signature
const accesskey=' QSZ * * * 98V1DW ';//为了保密我做了处理,大家输入自己公司的accesskey即可常量字节=加密HMAC(密码SHA1,policyBase64,accesskey,{ as bytes : true });常量签名=加密。乌提尔。字节库64(字节);控制台。日志(策略库64);console.log('myfunc . ');console.log(签名);这样我们便可计算出签名啦。
三、全部代码为
ceshi.js
const Base64=require(' ./Base 64。js’);要求('。/hmac。js’);要求('。/sha1。js’);const Crypto=require(' ./crypto。js’);函数my func(){让日期=新日期();约会。sethours(日期。get hours)(87677);让srcT=日期。toisostring();控制台。日志(SRCt);const policy text={ ' expirement ' : SRCt,//设置该政策的失效时间条件' : [ ['内容-长度-范围',0,5 * 1024 * 1024] //设置上传文件的大小限制,5mb]};const policy base64=base64。编码(JSON。stringify(策略文本));const accesskey=' qszyryqudf 8 aazyoaojeebecip 98 v1dw ';常量字节=加密HMAC(密码SHA1,policyBase64,accesskey,{ as bytes : true });常量签名=加密。乌提尔。字节库64(字节);控制台。日志(策略库64);console.log('myfunc.');console.log(签名);}模块。出口。my func=my func四、调用ceshi.js
新建oss.js
常数史策=require(' ./史策。js’);var app=GetApp()Page({ data : } },onLoad:函数(选项){史策。my func();},onReady:函数(){ },onShow:函数(){ },在线:函数(){ },onUnload:函数(){ },onPullDownRefresh:函数(){ },onReachBottom:函数(){ },onShareAppMessage:函数(){ })
五、文件目录
六、结果
以上是全部内容,感谢之前看过的相似文章,在此我自己做了相关总结,希望能帮大家解决问题!谢谢!
版权声明:微信小程序上传图片至战略情报局的一些个人总结是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。