如何使用腾讯云cos 存储相应的文件?我的第二款开源小程序
为什么做这个小程序
- 闲来无事,就做着玩,看看腾讯云cos 怎么使用到小程序中
- 群里讨论有人做壁纸,二次元的相关的小程序,感觉自己也想做一个结果做出来没啥流量,想想就发到这里了,大家交个朋友-老罗语录( 手动狗头)
使用到的技术
主要使用到百度鉴黄图片,腾讯云cos 以前ui 框架colorui。然后是小程序云开发
在开发过程中由于没有小程序云开发sdk ,所以稍微费点劲。最后采用了nodejs 的sdk 稍微改了一下
var STS = require('sts');
exports.main = async(event, context) => {
return new Promise(async(resolve, reject) => {
var config = {
secretId: '',
secretKey: '',
proxy: '',
durationSeconds: 1800,
bucket: 'xiaojiejie-1253624714',
region: 'ap-shanghai',
allowPrefix: '*',
allowActions: [
// 简单上传
'name/cos:PutObject',
'name/cos:PostObject',
// 分片上传
'name/cos:InitiateMultipartUpload',
'name/cos:ListMultipartUploads',
'name/cos:ListParts',
'name/cos:UploadPart',
'name/cos:CompleteMultipartUpload'
],
};
var shortBucketName = config.bucket.substr(0, config.bucket.lastIndexOf('-'));
var appId = config.bucket.substr(1 + config.bucket.lastIndexOf('-'));
var policy = {
'version': '2.0',
'statement': [{
'action': config.allowActions,
'effect': 'allow',
'principal': {
'qcs': ['*']
},
'resource': [
'qcs::cos:' + config.region + ':uid/' + appId + ':prefix//' + appId + '/' + shortBucketName + '/' + config.allowPrefix,
],
}],
};
STS.getCredential({
secretId: config.secretId,
secretKey: config.secretKey,
proxy: config.proxy,
durationSeconds: config.durationSeconds,
policy: policy,
}, function(err, tempKeys) {
var result = JSON.stringify(err || tempKeys) || '';
resolve({
data: result,
})
});
})
}
然后就可以使用了。
鉴黄模块使用了百度的,小程序的内容安然安全我也对接(云函数checkImg),但是当时黄色图片也返回的是ok 我就有点慌,才采用的百度鉴黄
开源
开源地址:https://gitee.com/sunqi/FindPic