视频后台管理,提成计算优化
This commit is contained in:
109
stdiet-ui/src/components/FileUpload/UploadFile.vue
Normal file
109
stdiet-ui/src/components/FileUpload/UploadFile.vue
Normal file
@ -0,0 +1,109 @@
|
||||
<template>
|
||||
<el-upload
|
||||
class="avatar-uploader"
|
||||
:headers="upload.headers"
|
||||
:action="upload.url"
|
||||
:show-file-list="false"
|
||||
:on-success="handleFileSuccess"
|
||||
:accept="'.png,.jpg'"
|
||||
:before-upload="beforeAvatarUpload">
|
||||
<img v-if="imageUrl" :src="imageUrl" class="avatar">
|
||||
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
||||
<div class="el-upload__tip" slot="tip">
|
||||
1、只能上传png、jpg文件,且每个文件不超过{{
|
||||
upload.fileSize / (1024 * 1024)
|
||||
}}M
|
||||
</div>
|
||||
</el-upload>
|
||||
</template>
|
||||
<script>
|
||||
import { getToken } from "@/utils/auth";
|
||||
export default {
|
||||
name: "DragUpload",
|
||||
components: {},
|
||||
data() {
|
||||
return {
|
||||
upload: {
|
||||
// 上传的地址
|
||||
url: process.env.VUE_APP_BASE_API + "/custom/fileUpload/" + this.prefix,
|
||||
// 设置上传的请求头部
|
||||
headers: { Authorization: "Bearer " + getToken() },
|
||||
// 其他需要携带的数据
|
||||
data: {},
|
||||
//每个文件大小(单位:byte)
|
||||
fileSize: 1024 * 1024 * 10,
|
||||
},
|
||||
//上传之后的路径
|
||||
imageUrl: null,
|
||||
fileUrl: null
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
resetUpload(){
|
||||
this.imageUrl = null;
|
||||
this.fileUrl = null
|
||||
},
|
||||
// 文件上传成功处理
|
||||
handleFileSuccess(response, file, fileList) {
|
||||
if (response != null && response.code === 200) {
|
||||
this.fileUrl = response.fileUrl;
|
||||
this.imageUrl = response.previewUrl;
|
||||
//this.imageUrl = URL.createObjectURL(file.raw);
|
||||
//文件全部上传成功,则调用回调方法
|
||||
this.$emit("callbackMethod", this.fileUrl);
|
||||
} else {
|
||||
this.$message.error("文件上传失败");
|
||||
}
|
||||
},
|
||||
// 文件上传失败处理
|
||||
handleFileFail(err, file, fileList) {
|
||||
this.$message.error("文件上传失败");
|
||||
},
|
||||
beforeAvatarUpload(file) {
|
||||
if(file.type != 'image/jpeg' && file.type != 'image/png') {
|
||||
this.$message.error('文件格式错误');
|
||||
return false;
|
||||
}
|
||||
if (file.size > this.upload.fileSize) {
|
||||
this.$message.error('文件大小超过最大限制');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
},
|
||||
props: {
|
||||
prefix: {
|
||||
type: String,
|
||||
default: "videoCover",
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.avatar-uploader .el-upload {
|
||||
border: 1px dashed #d7e236;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.avatar-uploader .el-upload:hover {
|
||||
border-color: #409EFF;
|
||||
}
|
||||
.avatar-uploader-icon {
|
||||
font-size: 28px;
|
||||
color: #8c939d;
|
||||
width: 178px;
|
||||
height: 178px;
|
||||
line-height: 178px;
|
||||
text-align: center;
|
||||
}
|
||||
.avatar {
|
||||
width: 300px;
|
||||
height: 200px;
|
||||
display: block;
|
||||
}
|
||||
</style>
|
||||
|
Reference in New Issue
Block a user