Blob 存储上的 Azure 触发器,从图像 (Blob) 中提取 EXIF (lat/long/direction...) 数据

Azure Trigger on Blob storage, extract EXIF (lat/long/direction...) data from image (Blob)

我正在尝试从上传到 Azure 的 jpeg 中检索 lat/long/rotation 属性,但无法获取。

触发器上的当前函数:

module.exports = async function (context, myBlob) {
    context.log( myBlob);
};

触发器正在上传,我可以获得上传文件的 URI

如果您正在阅读带有 reader 的 JPEG,那么应该有各种 EXIF 格式属性需要公开。

如果您以二进制形式下载 JPEG,那么我认为您需要保存文件,然后再读回以获取 EXIF 信息。

尝试使用 Exif.js JavaScript 库

用于从图像文件读取 EXIF 元数据的 JavaScript 库。

您可以在浏览器中的图像上使用它,无论是来自图像还是文件输入元素。检索 EXIF 和 IPTC 元数据。此包也可用于 AMD 或 CommonJS 环境。

如需更多参考,请遵循此 github code

终于找到解决办法

  1. 你必须使用 npm
  2. 安装“exif-parser”
  3. 使用 (Kudu) 访问 PowerShell 或 CMD
  4. 转到“高级工具”

  1. 之后,启动 PowerShell 调试控制台并导航到您的应用程序的 wwwroot 文件夹

  1. 然后安装你的模块“npm install exif-parser”
  2. 如果“package.json”显示任何错误,请忽略它
  3. 转到您的触发器或功能应用并测试模块:)
const exifParser = require('exif-parser');
module.exports = async function (context, myBlob) {
    context.log(myBlob);
    var parser = require('exif-parser').create(myBlob);
    var result = parser.parse();
    context.log(result);
};