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

Posted

技术标签:

【中文标题】Blob 存储上的 Azure 触发器,从图像 (Blob) 中提取 EXIF (lat/long/direction...) 数据【英文标题】:Azure Trigger on Blob storage, extract EXIF (lat/long/direction...) data from image (Blob) 【发布时间】:2021-10-06 21:22:30 【问题描述】:

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

触发器上的当前函数:

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

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

【问题讨论】:

【参考方案1】:

终于找到解决办法了

    您必须使用 npm 安装“exif-parser” 使用 (Kudu) 访问 PowerShell 或 CMD 转到“高级工具”

    然后,启动 PowerShell 调试控制台并导航到应用的 wwwroot 文件夹

    然后安装你的模块“npm install exif-parser” 如果“package.json”出现任何错误,请忽略它 去你的触发器或函数应用程序并测试模块:)
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);
;

【讨论】:

【参考方案2】:

如果您使用阅读器阅读 JPEG,那么应该有各种 EXIF 格式属性需要暴露。

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

尝试使用 Exif.js javascript

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

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

更多参考请关注github code

【讨论】:

以上是关于Blob 存储上的 Azure 触发器,从图像 (Blob) 中提取 EXIF (lat/long/direction...) 数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用条件从 Azure 存储下载 blob?

如何将特定于类的文件夹中的图像上传到 Azure ML Studio 上的 Azure Blob 存储

使用 epplus 从 blob 触发 azure 函数访问 excel 文件

Flutter AZURE BLOB IMAGE UPLOAD - 如何将使用移动相机拍摄的图像上传到 azure blob 存储

如何检查图像是不是在 Azure Blob 存储上发布?

通过直接 URL 浏览时上传到 Azure Blob 存储的图像不可用