现将图片发送到服务器,后端会返回对图片中关键词的标注,并同时渲染道页面与原始图片做一个对比
当关闭自动上传属性后只会出发一个钩子函数on-change,注意before-upload需要提交文件后才能触发,但是实在上传之前。on-cahnge绑定的函数会有一个输入型参数,也就是event,但是event里面没有target属性,但是还有raw属性
export default {
data(){
return{
localFile:{}
}
},
methods:{
// 选取图片后自动回调,里面可以获取到文件
imgSaveToUrl(event或file){ // 也可以用file
this.localFile=event.raw // 或者 this.localFile=file.raw
// 转换操作可以不放到这个函数里面,
// 因为这个函数会被多次触发,上传时触发,上传成功也触发
let reader = new FileReader()
reader.readAsDataURL(this.localFile);// 这里也可以直接写参数event.raw
// 转换成功后的操作,reader.result即为转换后的DataURL ,
// 它不需要自己定义,你可以console.log(reader.result)看一下
reader.onload=()=>{
console.log(reader.result)
// 这里动态绑定到src上就可以本地预览了,亲测有效
}
/* 另外一种本地预览方法 */
let URL = window.URL || window.webkitURL;
this.model.icon = URL.createObjectURL(file.raw);
// 转换后的地址为 blob:http://xxx/7bf54338-74bb-47b9-9a7f-7a7093c716b5
}
}