上传展示本地图片链接
getObjectURL(file) {
var promise = new Promise((resolve) => {
var url = null;
//下面函数执行的效果是一样的,只是需要针对不同的浏览器执行不同的 js 函数而已
if (typeof FileReader === "undefined") {
if (window.createObjectURL != undefined) {
//basic
url = window.createObjectURL(file);
} else if (window.URL != undefined) {
//mozilla(firefox)
url = window.URL.createObjectURL(file);
} else if (window.webkitURL != undefined) {
// webkit or chrome
url = window.webkitURL.createObjectURL(file);
}
resolve(url);
} else {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function (e) {
console.log(e);
url = e.target.result;
resolve(url);
};
}
});
return promise;
},```
我这里是优先使用了FileReader 如果不支持的话使用上面的不同浏览器创建url 由于filereader获取的url需要url在onload中获取,这个步骤是异步的,所以 在使用的时候封装了promise,合理的使用 async await来获取对应的url