使用jQuery从文件输入获取blob图像
我在使用jQuery将图像作为blob时遇到一些问题: 这是我的密码:使用jQuery从文件输入获取blob图像,jquery,html,file,Jquery,Html,File,我在使用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
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:未能对“FileReader”执行“readAsDataURL”:参数1不是“Blob”类型
我怎样才能解决这个问题?我尝试了一些方法,用FileReader从文件对象读取数据,但没有任何方法解决我的问题
Thx for ur help guys这句话看起来不对:
var file = $("#imgGaleria3")[0].files;
您需要文件
成为单个文件,而不是所有文件
例如:
var file = document.querySelector('input[type=file]').files[0];
或jQuery方式:
var file = $("#imgGaleria3")[0].files[0];
您正试图在数组上执行读取器 试一试
您应该放置
reader.readAsDataURL(文件)分配读取器后的code>。onload
。和$(“#imgGaleria3”)[0]。文件是一个文件数组。你应该使用$(“#imgGaleria3”)[0]。文件[0]
我不明白为什么要放:reader.readAsDataURL(文件);在reader.onload之后,但是你有文件数组的原因。。thx也很重要,因为它可能会在附加加载函数之前完成文件读取。我如何存储该值?我需要存储三个图像和一些数据,但有一些问题,因为这个函数是异步的。你应该在每个onload函数的末尾放一个相同的函数,这个函数做两件事,首先它确保所有3个都被加载,否则它会停止。如果加载了所有3个图像,它将继续执行。谢谢,我使用Jquery fileinput插件进行了测试,它可以正常工作
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);
};
}