微信小程序 如何上传音视频到百度云Bos cloud BCE
2018-04-20 15:35
1561 查看
在做了一系列调查之后,目前为止暂未发现有相关的文章,在此简单记录一下解决此问题的步骤,造福来人。
本人的解决方案参考了百度云BOS官方文档,地址如下:
https://cloud.baidu.com/doc/BOS/API.html#Object.E7.9B.B8.E5.85.B3.E6.8E.A5.E5.8F.A3
使用wx.uploadFile接口上传。
其中,需要特别关注的是:
百度云通过Post方式上传Object,要求必须存在Policy,且Policy编码格式为UTF-8.Policy的格式如下:
var policy = '{"expiration":"2018-05-01T12:00:00Z","conditions":[{"bucket":"你的bucket名称"},{"key":"文件保存在BOS中的文件名"}]}'
var base64 = base64.encode(policy)通过在小程序中引入Base64.js,可以轻松的将Policy转为Base64编码。接下来需要将这个Base64编码通过HmacSHA256加密。
signature = CryptoJS.HmacSHA256("之前的base64编码字符串", "百度云的SK").toString(CryptoJS.enc.Hex)此时已经得到了百度云上传需要的签名。
接下来通过调用微信小程序提供的API wx.uploadFile就可以了,代码如下:
wx.uploadFile({ url: 'https://zhiyu.bj.bcebos.com', filePath: '拍照。或者通过chooseImage,chooseVideo返回的完整路径', name: 'file', // 注意:这个name一定不要更改,一定不要更改,一定不要更改 formData:{ accessKey:'百度云提供的ak', policy:'上面提到的base64字符串', signature:'上面提到的signature签名', key: '文件保存在BOS中的文件名', // 注意:这个key必须与policy中的key保持一致,否则会报错 'Content-Type':'image/png' // 可以不指定,BOS会自动判断 }, success:function(res){ var data = res.data console.log(res); }, fail:function(res){ console.log(res) } })如此流程便可以轻松的将拍照和选择的小视频从微信小程序端直接上传到百度云了。
详细的代码请下载附件查看,附件中包含了拍照,录小视频,以及拍照上传到百度云的代码。
附件:微信小程序 如何上传音视频到百度云Bos cloud BCE
阅读更多
相关文章推荐
- 微信小程序开发之本地图片上传(leancloud)
- 微信小程序常见问题->上传文件后如何在后台(php)获取文件名解决方法
- 微信小程序教程之本地图片上传(leancloud)实例详解
- 微信小程序开发之本地图片上传(leancloud)
- 微信小程序-视频教程-百度云-下载
- 微信公众号如何关联小程序-微信小程序开发-视频教程19
- 微信小程序-从相册获取图片,视频 使用相机拍照,录像上传+服务器(nodejs版)接收
- 微信小程序教程之本地图片上传(leancloud)实例详解
- 微信小程序常见问题->上传文件后如何在后台(php)获取文件名解决方法
- spring boot,cloud,微信点餐系统,小程序开发视频教程
- 微信小程序上传图片到php服务器
- 【原创】前端开发人员如何制作微信小程序模板
- 微信小程序swiper如何获得当前页面的index
- 在微信小程序如何wx.chooseImage的图片路径转成Base64
- 微信小程序开发(二)图片上传+服务端接收
- 微信小程序二维码以及如何在公众号上显示小程序
- 微信小程序 HTTPS 请求,如何获取免费证书配置服务器
- 微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传