前言
(一)开通OSS服务与新建Bucket
开通OSS服务这里省略,新建bucket。
(二)设置Bucket属性,后台配置域名
上传文件访问域名
这里我们要在小程序后台配置上传域名(上面的域名是我自己的申请的,后台配置的是公司的的域名,使用的时候你们用一套东西即可)。
下图是bucket管理,这里可以新建文件的保存路径,域名管理。
(三)服务端签名直传
点击查看文档
这里就不多做介绍了,这是上传文件到oss需要的参数,这些数据可以从后台获取。
{ "accessid": "6MKO******4AUk44", "host": "http://post-test.oss-cn-hangzhou.aliyuncs.com", "policy": "eyJleHBpcmF0aW9uIjoiMjAxNS0xMS0wNVQyMDoyMzoyM1oiLCJjxb25kaXRpb25zIjpbWyJjcb250ZW50LWxlbmd0aC1yYW5nZSIsMCwxMDQ4NTc2MDAwXSxbInN0YXJ0cy13aXRoIiwiJGtleSIsInVzZXItZGlyXC8iXV19", "signature": "I2u5*******yff151E=", "expire": 1446726203, "dir": "user-dir/" }
- accessid:用户请求的accessid。
- host:用户要往哪个域名发送上传请求。
- policy:用户表单上传的策略(Policy),是经过base64编码过的字符串。
- signature:对变量policy签名后的字符串。
- expire:上传策略失效时间,在PolicyText里指定。在失效时间之前,都可以利用此Policy上传文件,所以没有必要每次上传都去服务端获取签名。
Policy的内容:
{"expiration":"2015-11-05T20:23:23Z", "conditions":[["content-length-range",0,1048576000], ["starts-with","$key","user-dir/"]]
Policy说明:
Policy中增加了starts-with,用来指定此次上传的文件名必须以user-dir开头,用户可自行指定此字符串。增加starts-with的原因是:在很多场景下,一个应用对应一个Bucket,为了防止数字覆盖,每个用户上传到OSS的文件都可以有特定的前缀。这样就存在一个问题,用户获取到这个Policy后,在失效期内都能修改上传前缀,从而上传到别人的目录下。为了解决这个问题,可以设置应用服务器在上传时就指定用户上传的文件必须是某个前缀。这样如果用户获取到了Policy也没有办法上传到别人的前缀上,从而保证了数据的安全性。
(四)微信小程序上传
getCloudCdnParams: function(filePath, index) { var that = this; var dataUrl = app.globalData.laiSignBaseUrl + "open/getOSSClient" var params = new Object(); params.type = app.globalData.imgesDir util.POST( dataUrl, { params, success: function(res) { if (res != null && res.data != null && res.data.success) { var result = res.data.result that.uploadFileFun(result, filePath, index) } }, fail: function() {}, }) },
因为上传文件有时效性,所以在每次上传的时候都要重新获取上传的参数。
// 上传图片 uploadFileFun: function(result, filePath, index) { var that = this; wx.uploadFile({ url: app.globalData.uploadFileBaseUrl, filePath: filePath, /**上传的参数**/ formData: { name: filePath, key: app.globalData.imgesDir + "demo-file" + result.expire + index, policy: result.policy, OSSAccessKeyId: result.accessid, success_action_status: "200", signature: result.signature, }, success: function(res) { /**这边上传成功后要自己拼接文件的地址**/ coverUrl: app.globalData.uploadFileBaseUrl + "/" + app.globalData.imgesDir + "demo-file" + result.expire + index }, fail: function(res) { console.log(res) } }) },
常见问题以及解决方法
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
风云阁资源网 Design By www.bgabc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
风云阁资源网 Design By www.bgabc.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 刘文正《流金三十年》[6N纯银镀膜][低速原抓WAV+CUE]
- 赵传.1994-精挑细选精选集【滚石】【WAV+CUE】
- 郑亚弦.2024-隔壁包厢603(EP)【发现梦想】【FLAC分轨】
- 文章.2004-被遗忘的时光【华博音乐】【WAV+CUE】
- 群星《青葱韶歌》原力计划·毕业季企划合辑[FLAC+分轨][661M]
- 群星《抖烧 DSD》抖音神曲 [WAV分轨][992M]
- 庾澄庆《哈林天堂》索尼音乐[WAV+CUE][1G]
- 英雄联盟全球总决赛多久打一次 全球总决赛举办频率介绍
- 第二届老头杯什么时候开始选人 第二届老头杯选人时间介绍
- 英雄联盟第二届老头杯什么时候开始 老头杯s2赛程时间队伍名单汇总
- AI赋能卓越显示技术共筑数字未来:三星显示器产品矩阵亮相2024进博会
- 技术剖析:天玑9400如何打造移动最强GPU和游戏体验?
- 顶级装备 实力登顶:三星显示器双十一焕新升级最后冲刺
- 陈影《绝色靓声》WAV+CUE
- 龚玥《禅是一枝花(6N纯银SQCD)》原抓WAV+CUE