Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Exiftool和NodeJS从JPG读取标记_Javascript_Node.js_Exif_Exiftool - Fatal编程技术网

Javascript 使用Exiftool和NodeJS从JPG读取标记

Javascript 使用Exiftool和NodeJS从JPG读取标记,javascript,node.js,exif,exiftool,Javascript,Node.js,Exif,Exiftool,我正在尝试使用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) {

我正在尝试使用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
必须安装在系统路径中。要轻松测试这一点,请尝试从命令行(cmd或powershell)运行
exiftool

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

我不认为您的代码有任何问题,它适合我。看起来像是一些与系统相关的问题,如权限,或者路径中没有
exiftool
。您能从命令行(CMD或powershell)运行exiftool吗?谢谢。。。我的windows文件夹中没有exiftool。如果你写这个作为一个答案,我可以给你的代表。我不认为你的代码有任何问题,它对我来说是有效的。看起来像是一些与系统相关的问题,如权限,或者路径中没有
exiftool
。您能从命令行(CMD或powershell)运行exiftool吗?谢谢。。。我的windows文件夹中没有exiftool。如果你写这个作为一个答案,我可以给你的代表。我得到相同的错误,即使我可以从命令行运行exiftool,相同的代码如上所述。有什么想法吗?即使我可以从命令行运行exiftool,我也会遇到同样的错误,代码与上面相同。有什么想法吗?