我有一个从数组获取图像的函数
onFileChange(e) {
let files = e.target.files;
for (let file in files) {
this.files.push(URL.createObjectURL(files[file]));
if (files.hasOwnProperty(file)) {
console.log(files[file]);
}
}
由该元素触发:
<input multiple type="file" @change="onFileChange($event)"/>
该组件的我的数据对象是:
data() {
return {
files: [],
url: null,
uploadedFiles: []
}
当我渲染时出现此错误:
app.js:1920 Uncaught TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided.
我实际上正在获取文件数组。但出现此错误,感谢帮助。
最佳答案
我仍然不知道为什么会发生这个错误,但我找到了一种解决方法,即从 for/in 切换到常规的“无聊”for。
for (var i = 0; i < files.length; i++) {
var file = files[i],
src = (window.URL || window.webkitURL).createObjectURL(file);
this.files.push(src);
}
如果有一个答案可以解释该错误,我会将其投票为答案,这是目前找到的最佳解决方案。
关于javascript - Vue2获取图像src,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53991390/