2016-12-01 12 views
1

Я пытаюсь получить метаданные тега из изображения JPG с помощью NodeJS и exiftool. Это первый раз, когда я использую NodeJS. Это то, что я пробовал: Я установил NodeJS для окон. У меня есть изображение с именем t.jpg и в том же каталоге, у меня есть JS файл с именем run.jsПрочитать теги из JPG с помощью Exiftool и NodeJS

Это файл в 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) 

Любая идея, что я делаю неправильно? Что я могу сделать, чтобы получить то, что хочу?

+2

Я не думаю, что с вашим кодом что-то не так, это работает для меня. Похоже, какая-то системная проблема, например разрешения, или 'exiftool' не в PATH. Вы можете запустить 'exiftool' из командной строки (CMD или powershell)? – jkondratowicz

+0

Спасибо ... У меня не было exiftool в моей папке с окнами. Если вы напишете это как ответ, я могу дать вам репутацию. – Chris

ответ

4

Просмотреть комментарии ->exiftool необходимо установить в систему PATH. Чтобы легко проверить это, попробуйте запустить exiftool из командной строки (cmd или powershell).

+0

Я получаю ту же ошибку, хотя я могу запустить exiftool из командной строки, такой же код, как указано выше. любая мысль? – BelgoCanadian