使用 jQuery 从文件输入中获取 blob 图像
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/30424121/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Get blob image from file input using jQuery
提问by Nega developer
I am having some problems to take image as blob using jQuery:
我在使用 jQuery 将图像作为 blob 时遇到了一些问题:
Here is my code:
这是我的代码:
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);
};
}
And all the time im getting the same error: uncaught TypeError: Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'.
并且我一直收到相同的错误:未捕获的 TypeError:无法在“FileReader”上执行“readAsDataURL”:参数 1 的类型不是“Blob”。
How can I solve? I try some methods to read the data from file object with FileReader but nothing solves my problem.
我该如何解决?我尝试了一些方法来使用 FileReader 从文件对象读取数据,但没有解决我的问题。
Thx for ur help guys
谢谢你的帮助家伙
回答by T McKeown
This line looks wrong:
这一行看起来不对:
var file = $("#imgGaleria3")[0].files;
You need file
to be a single file not all the files.
您需要file
是单个文件而不是所有文件。
Example:
例子:
var file = document.querySelector('input[type=file]').files[0];
or jQuery way:
或 jQuery 方式:
var file = $("#imgGaleria3")[0].files[0];
回答by John M
you're trying to execute the reader on an array.
您正在尝试在数组上执行读取器。
try
尝试
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);
};
}