vue页面使用阿里oss上传功能的实例(一)

2020-06-14 06:01:18易采站长站整理

components:{
aliUpload
},
data(){
return{
uploadUrl:[],
uploadId:'file',
uploadCode:0
};
},
watch:{
uploadCode(val){
console.info(val)
}
}
};
</script>

后端部分

1.首先安装依赖


npm install ali-oss
npm install co

2.service文件


'use strict'

var OSS = require('ali-oss');
var STS = OSS.STS;
var co = require('co');

var sts = new STS({
accessKeyId: 'accessKeyId',
accessKeySecret: 'accessKeySecret',
});
var rolearn = 'acs:ram::ID:role/ram';

var policy = {
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:GetObject",
"oss:PutObject"
],
"Resource": [
"acs:oss:*:*:Bucket",
"acs:oss:*:*:BucketName/*"
] }
]};

class OssUploadService {

getOssToken(req, res){
var result = co(function* () {
var token = yield sts.assumeRole(rolearn, policy, 15 * 60, 'ossupload');
res.json({
token:token.credentials
})
}).catch(function (err) {
});
}
}

module.exports = new OssUploadService()

3.controller文件


'use strict'
var ossUploadService = require('../service/ossUploadService')
module.exports = function(app) {
app.get('/alioss/getOssToken', function(req, res) {
const result = ossUploadService.getOssToken(req, res)
if (result) {
res.json({
code: 100,
data: result
})
}
})
}

到这里就大功告成了吗?错!这只是完成了最基本的部分,接下来我们要在阿里云控制台中设置权限、角色、策略等。

源码地址:https://github.com/taosin/alioss-js-upload