【问题标题】:Detect EXIF Orientation of an image in javascript在javascript中检测图像的EXIF方向
【发布时间】:2017-02-07 23:28:11
【问题描述】:

在我的移动 Web 应用程序中,我需要检查使用输入 type=file 控件选择的图像文件的 EXIF 方向标记,这需要在所选图像文件之前在 javascript 客户端完成上传到服务器。

我见过几个与此类似的线程,但其中大多数都说使用名为 binaryajax.js 的库来访问文件对象中的 EXIF 数据。不幸的是,在我的项目中简单地包含 binaryajax.js 会导致 jQuery 1.7.1 中的访问被拒绝错误,我不知道为什么会发生这种情况。此错误使我无法使用此 jquery 库。所以我正在寻找一个不使用这个库的解决方案。我尝试使用的另一个库是 jquery.exif.js,我在尝试使用它时也遇到了拒绝访问错误。

编辑:

经过大量测试,我使用 binaryajax.js 跟踪错误原因到我的主页(不是我包含 jquery 插件的页面)上的两个链接,格式为:

<a onclick="$('#home-form-login').submit();"></a>

在链接上包含这些点击事件处理程序会导致尝试使用插件时出现访问被拒绝错误。因为链接在我的主页上,所以如果有意义的话,它们也包含在我访问的所有其他页面中。

我该如何解决这个问题?

【问题讨论】:

  • Access Denied 错误与库本身无关,在本地测试时根本无法调用 AJAX。尝试在本地主机或网络服务器上测试您的代码。
  • 我不同意这一点。在本地测试时,我可以并且已经调用了 AJAX。另外,我从来没有一个 jquery 库给我这样的错误,所以我认为这个特定的库 (binaryajax.js) 与 jquery 1.7.1 不兼容。但是,我会按照您的建议尝试在 localhost 或网络服务器上测试我的代码。
  • 我可能是错的,但我的看法是,如果您从 2 个不同的库中遇到相同的错误,则更有可能是您这边的问题,而不是库本身,我不知道'认为除了跨域 ajax 之外,您所做的任何事情都不会出现访问被拒绝错误。
  • 为了得到拒绝访问错误,我所做的只是在页面上包含脚本(甚至不尝试将其用于任何事情)。这就是我所做的一切。当我到达那个页面时,我得到了错误。我只是将它添加到页面底部,就像我做任何其他插件一样:
  • 更新:我找到了导致错误的原因,但仍然不知道如何修复它。有关详细信息,请参阅上面的编辑。

标签: javascript jquery exif


【解决方案1】:

我最近遇到了这个库,用于在 JavaScript 中进行图像处理。它可以读取图像的 EXIF 数据,包括方向。值得研究

https://github.com/blueimp/JavaScript-Load-Image

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-27
    • 1970-01-01
    • 2017-09-11
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    相关资源
    最近更新 更多