华为云上传单个文件
创建obs.js/*** 上传单个文件** @param sourceFile 文件资源* @param filePath 华为云obs存储路径和名字*/export function singleFileUpload(sourceFile, filePath) {return new Promise((resolve, reject) => {getObsClient().putObjec
·
创建obs.js
/**
* 上传单个文件
*
* @param sourceFile 文件资源
* @param filePath 华为云obs存储路径和名字
*/
export function singleFileUpload(sourceFile, filePath) {
return new Promise((resolve, reject) => {
getObsClient().putObject({
Bucket: obsConfig.bucket,
Key: filePath,
SourceFile: sourceFile,
// Metadata:{property:'property-value'},
ContentType: 'text/plain'
}).then(function (result) {
if (result.CommonMsg.Status < 300) {
resolve({
file_path: obsConfig.visit_domain + '/' + filePath}
);
} else {
reject(result.CommonMsg.Message);
}
}).catch(function (error) {
reject(error);
});
});
}
html
<el-upload
v-model="form.agr_type"
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-remove="handleRemove"
:limit="1"
:on-exceed="handleExceed"
:file-list="fileList"
:http-request="agrFileUpload"
style="width:70%;display:inline-block;margin-left:5%;">
<el-button class="cover" v-if="form.agr_type=='1'">绑定协议</el-button>
<el-button class="cover" disabled v-if="form.agr_type=='2'">绑定协议</el-button>
<!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
</el-upload>
方法
<script>
import {singleFileUpload} from "../../utils/obs";
export default{
data(){
return{
form:{
cover_url:"",
...
}
}
},
methods:{
/**
* 上传问卷背景
*
* @param params
*/
imgFileUpload(params){
let self=this;
let imageName = publicMethod.createId();
let imagePath = 'research/question_back/' + imageName;
singleFileUpload(params.file, imagePath).then((result) => {
self.form.cover_url=result.file_path;
self.$message.success('上传成功!');
}).catch((error) => {
self.$message.error(error);
});
},
}
}
</script>
更多推荐
已为社区贡献1条内容
所有评论(0)