我目前在第三方软件表单系统中工作,允许用户上传图像。
我想要实现的目标是上传区域更改是抓取图像的exif并显示其信息的警报。 (计划是在我能做到的时候抓住拉特和lng。)
我的文档准备好了当前的JS
$.getScript('http://WIN-VEQPNOG6JPR/Forms/js/exif.js', function() {
document.getElementsByClassName("uploadArea").onchange = function(e) {
EXIF.getData(e.target.files[0], function() {
alert(EXIF.pretty(this));
});
}
});
生成表单的结构如下所示。我的第一个猜测是,我在表单创建者中定义的区域是错误的,或者我只是没有找到它。该文件位于tr类文件中,然后是另一个td,但我试图将整个部分命名为uploadArea。
上传时的图片类似于"<a class="ellipsis" title="img_1771.jpg">img_1771.jpg</a>"
有什么想法吗?
错误讯息:
Uncaught TypeError: Cannot read property 'exifdata' of undefined
at imageHasData (exif.js?_=1496235241982:339)
at Function.EXIF.getData (exif.js?_=1496235241982:936)
at HTMLLIElement.document.getElementsByClassName.onchange (0:192)
答案 0 :(得分:0)
试试这个:
document.getElementsByClassName("uploadArea")[0].onchange = function(e) {
或者 使用Id作为选择器。