vue上传图片到oss的方法示例(图片带有删除功能)

2020-06-12 21:12:14易采站长站整理

console.log(Name)
const suffix = Name.substr(Name.indexOf("."));
const obj=this.timestamp();
const storeAs = 'header/'+obj+suffix // 路径+时间戳+后缀名
console.log(storeAs)
client.multipartUpload(storeAs, f).then(function (result){
console.log(result.res.requestUrls)
})
}
},
// 时间戳
timestamp:function(){
const time = new Date();
const y = time.getFullYear();
const m = time.getMonth()+1;
const d = time.getDate();
const h = time.getHours();
const mm = time.getMinutes();
const s = time.getSeconds();
const ms = time.getMilliseconds()
return ""+y+this.Add0(m)+this.Add0(d)+this.Add0(h)+this.Add0(mm)+this.Add0(s)+this.Add0(ms);
},
Add0:function(m){
return m<10?'0'+m : m;
} ,

finished() {
this.files = [] this.status = 'ready'

},
remove(index) {
this.files.splice(index, 1)
},
fileChanged() {
const list = this.$refs.file.files
for (let i = 0; i < list.length; i++) {
if (!this.isContain(list[i])) {
const item = {
name: list[i].name,
size: list[i].size,
file: list[i] }
this.html5Reader(list[i], item)
this.files.push(item)
}
}
this.$refs.file.value = ''
},
// 将图片文件转成BASE64格式
html5Reader(file, item){
const reader = new FileReader()
reader.onload = (e) => {
this.$set(item, 'src', e.target.result)
}
reader.readAsDataURL(file)
},
isContain(file) {
return this.files.find((item) => item.name === file.name && item.size === file.size)
},
}
}
</script>
<style>
.vue-uploader {
border: 1px solid #e5e5e5;
}
.vue-uploader .file-list {
padding: 10px 0px;
}
.vue-uploader .file-list:after {
content: '';
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
font-size: 0;
}
.vue-uploader .file-list .file-item {
float: left;
margin-left: 10px;

position: relative;
width: 150px;
text-align: center;
}
.vue-uploader .file-list .file-item img{
width: 150px;
height: 150px;
border: 1px solid #ececec;
}
.vue-uploader .file-list .file-item .file-remove {
position: absolute;
right: 4px;
display: none;
top: 4px;
width: 20px;
height: 20px;
font-size:20px;
text-align: center;