我正在使用html,tag:
<input type = "file" />
在Android和许多cellulars上,我可以通过拍照并保存来直接获取文件。
我如何知道(通过javascript代码)我是如何获取图片的(直接通过相机或我手机上的某些文件)?
我做了一些workarround,并找到了exif(http://www.nihilogic.dk/labs/exif/exif.js),但我没有成功使用它来动态加载图片,如网站:http://exif-viewer.com/ 需要一些源代码示例,以了解exif如何处理动态加载的图像。
谢谢:)
答案 0 :(得分:1)
我自己找到了解决方案,所以我想参与其中:
我需要的是将二进制数据转换为exif数据, 所以在exif.js上,我添加了以下内容。
jQuery.fn.getExif = function() {
var exif;
var bin;
var bf;
bin = atob(this.attr("src").split(',')[1]);
if (bin) {
bf = new BinaryFile(bin);
}
if (bf) {
exif = EXIF.readFromBinaryFile(bf);
}
if (exif) {
this.attr("exifdata", exif);
}
return exif;
}
并在代码上使用以上内容 - 只需获取我想要的任何exif值。
主要问题是图像应根据exif旋转 (如果,方向是顺时针90度,所以我应逆时针旋转90度,以确定方向) - 大多数设备都没问题, 但是有一个问题会持续存在于多个设备上,例如IPAD。
IPAD(或Safari - 我不确切知道问题出在哪里)帮我一个忙,并在我从文件加载图像时自动旋转图像,所以它总是正确显示。
现在我怎么知道何时旋转图像以及何时不旋转图像。
谢谢:)