【问题标题】:Read tags from JPG using Exiftool and NodeJS使用 Exiftool 和 NodeJS 从 JPG 读取标签
【发布时间】:2020-06-25 06:08:49
【问题描述】:

我正在尝试使用 NodeJS 和 exiftool 从 JPG 图像中获取标记元数据。这是我第一次使用 NodeJS。这是我尝试过的: 我为 Windows 安装了 NodeJS。我有一个名为 t.jpg 的图像,在同一个目录中我有一个名为 run.js 的 js 文件

这是 run.js 文件

var exif = require('exiftool');
var fs   = require('fs');
fs.readFile('t.jpg', function (err, data) {
    if (err) {
        console.log(err);
    } else {
        exif.metadata(data, function (err, metadata) {
            if(err)
                console.log(err);
            else
                console.log(metadata);
        });
    }
});

然后我打开一个命令行窗口并输入以下内容:

我认为我需要在代码中添加所需的任何内容

npm install exiftool
npm install fs
node run.js

然后我得到以下错误:

> node run.js
events.js:160
  throw er; // Unhandled 'error' event
  ^

Error: write EPIPE
    at exports._errnoException (util.js:1026:11)
    at Socket._writeGeneric (net.js:710:26)
    at Socket._write (net.js:729:8)
    at doWrite (_stream_writable.js:333:12)
    at writeOrBuffer (_stream_writable.js:319:5)
    at Socket.Writable.write (_stream_writable.js:246:11)
    at Socket.write (net.js:656:40)
    at Object.exports.metadata (C:\Users\chris\Dropbox\Werk\nodejs\no
    at C:\Users\chris\Dropbox\Werk\nodejs\run.js:7:10
    at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:445:3)

知道我做错了什么吗?我该怎么做才能得到我想要的?

【问题讨论】:

  • 我不认为你的代码有什么问题,它对我有用。看起来像一些与系统相关的问题,比如权限,或者 exiftool 不在 PATH 中。你能从命令行(CMD 或 powershell)运行exiftool 吗?
  • 谢谢...我的 windows 文件夹中没有 exiftool。如果你把这个写成答案,我可以给你代表。

标签: javascript node.js exif exiftool


【解决方案1】:

参见 cmets -> exiftool 必须安装在系统 PATH 中。要轻松测试这一点,请尝试从命令行(cmd 或 powershell)运行 exiftool

【讨论】:

  • 我得到了同样的错误,即使我可以从命令行运行 exiftool,代码与上面相同。有什么想法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-18
  • 2023-03-08
  • 1970-01-01
  • 2011-09-14
  • 2014-10-28
  • 1970-01-01
相关资源
最近更新 更多