创建obs.js
export function singleFileUpload(sourceFile, filePath) {
return new Promise((resolve, reject) => {
getObsClient().putObject({
Bucket: obsConfig.bucket,
Key: filePath,
SourceFile: sourceFile,
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>
</el-upload>
方法
<script>
import {singleFileUpload} from "../../utils/obs";
export default{
data(){
return{
form:{
cover_url:"",
...
}
}
},
methods:{
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>