<template>
<div class="hello">
<el-upload
ref="upload"
multiple
:http-request="handleUpload"
:on-remove="handleRemove"
:on-exceed="handleExceed"
:limit="10"
:show-file-list="true"
:file-list="fileList">
<el-button
type="success"
icon="el-icon-upload"
size="mini">添加附件
</el-button>
</el-upload>
</div>
</template>
<script>
// 这里要引入COS 和 你们团队使用的Ajax库
export default {
name: 'hello',
data() {
return {
fileList: [],
cos:null
}
},
methods: {
handleRemove(file, fileList) {
this.researchForm.fileList = fileList;
console.log(this.researchForm.fileList);
},
handleExceed() {
this.$message.warning({
message: '不能超过10个附件'
})
},
handleUpload(param) {
const self = this;
let file = param.file;
if (!file) return;
let originName = file.name;
let originSize = file.size;
let originType = file.type;
uAxios.get('/api/qcloud/secret').then(res => {
let result = res.data.data;
self.cos = new COS({
getAuthorization: function (options, callback) {
callback({
TmpSecretId: result.tmp_secret_id,
TmpSecretKey: result.tmp_secret_key,
XCosSecurityToken: result.xcos_security_token,
ExpiredTime: result.expired_time,
});
}
});
let bucket = result.bucket;
let region = result.region;
let upload_dir = result.dir;
self.cos.putObject({
Bucket: bucket,
Region: region,
Key: result.dir + file.name,
Body: file
}, function (err, data) {
console.log(err || data);
if (err) {
self.$message.error({
message: err.error
});
} else {
let file_path = 'https://' + bucket + '.cos.' + region + '.myqcloud.com/' + upload_dir + file.name;
console.log('文件上传成功 ' + file_path);// 得到的file_path 就是上传到腾讯云的路径,将这个URL传给后端即可
}
});
});
},
}
}
</script>
Element 多文件手动上传到腾讯云
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Journeys end in lovers' meeting.漂泊止于爱人的相遇。 使用场景:购物网站会涉及到很...
- 最近要做一个上传文件到七牛的功能,没看官方文档之前认为蛮简单的,看完之后就蒙比了。太乱了吧,也许是搞的太晚了,没心...
- 马化腾:你们可以膜拜阿里巴巴和马云,为何要吐槽我的腾讯? 吐槽马化腾 阿里巴巴和腾讯两大科技公司,都是在中国或者世...