使用jQuery从文件输入中获取blob图像

时间:2015-05-24 13:36:39

标签: jquery html5 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
        alert(e.target.result);
    };
}

我一直都会遇到同样的错误:     未捕获的TypeError:无法执行' readAsDataURL' on' FileReader':参数1的类型不是' Blob'。

我该如何解决?我尝试了一些使用FileReader从文件对象读取数据的方法,但没有解决我的问题。

帮助你们的人

2 个答案:

答案 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);
    };
}