1
如果具有输入类型的文件的FileReader readAsBinaryString()到图像DOM元素
<input id="file" type="file" name="file" />
和如果一个文件被选择我想从图像的负载读取的Exif数据的图像
<img id="img">
它进入img标签。
var $inputFile = $("#file");
$inputFile.on("change", function() {
var img = document.getElementById("img");
var files = $inputFile[0].files;
var reader = new FileReader()
reader.onload = function(event) {
var file = reader.result;
// this is not working
img.src = file;
var binaryString = reader.result;
var oFile = new BinaryFile(binaryString, 0, file.size);
var exif = EXIF.readFromBinaryFile(oFile);
// read exif data
}
reader.readAsBinaryString(files[0]);
});
问题是我没有在屏幕上得到任何图像。它只显示如果我使用reader.readAsDataURL(文件[0]);但是我无法使用,因为我需要binaryString作为Exif数据。
如何获取图像标签以显示所选文件是二进制字符串?
我试图img.src = URL.createObjectURL(文件);但它显示一个错误:Uncaught TypeError:类型错误reader.onload – confile
它接受一个File或Blob,而不是FileReader对象。请参阅文档 – japrescott
这不会帮助我如何获取文件或blob? – confile