我在使用jQuery将图像作为blob时遇到了一些问题:
这是我的代码:
var file = $("#imgGaleria3")[0].files;
if (file) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function(e) {
// browser completed reading file - display it
alert(e.target.result);
};
}
我一直都会遇到同样的错误: 未捕获的TypeError:无法执行' readAsDataURL' on' FileReader':参数1的类型不是' Blob'。
我该如何解决?我尝试了一些使用FileReader从文件对象读取数据的方法,但没有解决我的问题。
帮助你们的人
答案 0 :(得分:16)
这一行看起来不对:
var file = $("#imgGaleria3")[0].files;
您需要file
作为单个文件而不是所有文件。
示例:
var file = document.querySelector('input[type=file]').files[0];
或jQuery方式:
var file = $("#imgGaleria3")[0].files[0];
答案 1 :(得分:2)
您正尝试在阵列上执行阅读器。
试
var file = $("#imgGaleria3")[0].files[0];
if (file) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function(e) {
// browser completed reading file - display it
alert(e.target.result);
};
}