<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<style>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
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: 178px;
height: 178px;
display: block;
}
</style>
<div id="root">
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false"
:auto-upload=false :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload" :on-change="changeFn">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</div>
<script src="./vue.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.2/index.js"></script>
<script>
const vm = new Vue({
el: "#root",
data: {
imageUrl: '',
},
mountend() {
},
methods: {
changeFn(file, fileList) {
this.imageUrl = URL.createObjectURL(file.raw);
console.log(file, "文件")
console.log(fileList, "文件列表")
this.upFile(file)
},
upFile(file) {
console.log(file.raw,"上传参数")
var formData = new FormData();
formData.append('file', file.raw); //添加图片信息的参数
formData.append('sizeid', 123); //添加其他参数
$.ajax({
url: '/material/uploadFile',
type: 'POST',
cache: false, //上传文件不需要缓存
data: formData,
processData: false, // 告诉jQuery不要去处理发送的数据
contentType: false, // 告诉jQuery不要去设置Content-Type请求头
success: function (data) {
},
error: function (data) {
tipTopShow("上传失败");
}
})
},
取自大佬@lar_lsw