上传前无法从多个文件中获取exif数据

时间:2013-10-17 02:33:29

标签: jquery image upload image-uploading exif

我试图在任何类型的上传之前立即从多个文件中获取exif数据。我正在使用:

https://github.com/sanisoft/jQuery-fileExif

var someCallback = function(exifObject) 
{
    console.log(exifObject);
}   

$('#file-input').change(function(e) 
{
    files = event.target.files;

    for(var i = 0, len = files.length; i < len; i++) 
    {
        var file = files[i];

        $(this).fileExif(someCallback);
        console.log(file);
    }            
});

但每次我在我的控制台中只从一个文件中获取相同的重复exif数据(无论上载了多少文件)。如果我改变:

 $(file).fileExif(someCallback);

我得到了:

 TypeError: Cannot read property '0' of undefined 

我对jQuery和JS的了解非常有限......拜托,有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

jquery.exif.js

使用此代码替换$.fn.fileExif的代码

$.fn.fileExif = function(callback) {

    for(var i = 0 ;i < this[0].files.length;i++){

        var reader = new FileReader();

        reader.onload = function(event) {

            var content = event.target.result;

            var binaryResponse = new BinaryFile(content);

            callback(EXIF.readFromBinaryFile(binaryResponse));
        };

        reader.readAsBinaryString(getFilePart(this[0].files[i]));
     }
};