Почему библиотека node-exif не может показать некоторые теги для некоторых изображений? - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь получить все теги Exif из коллекции изображений. Найти масштабированные и немасштабированные изображения. Мне удалось идентифицировать изображения, поскольку код смог подобрать тег Сжатие со значением 6 некоторых изображений. Но ни одна из метаданных не была извлечена из оставшихся изображений.

Мне нужны XResolution и YResolution , чтобы найти точные необходимые изменения, которые необходимо внести в этот файл. Я использовал эту библиотеку.

Пожалуйста, найдите код ниже -

//requiring path and fs modules
const path = require('path');
const fs = require('fs');
//joining path of directory 
const directoryPath = path.join(__dirname, 'assets/images/');

var ExifImage = require('exif').ExifImage;
//passsing directoryPath and callback function
fs.readdir(directoryPath, function (err, files) {
    //handling error
    if (err) {
        return console.log('Unable to scan directory: ' + err);
    } 
    var fs = require('fs');
    var stream = fs.createWriteStream("output.txt");
    stream.once('open', function(fd) {
        //listing all files using forEach
        files.forEach(function (file) {
            // Do whatever you want to do with the file
            try {
                new ExifImage({ image : directoryPath + file }, function (error, exifData) {
                    if (error){
                        console.log('Error: '+error.message);
                    }
                    else {
                        if( exifData['thumbnail']['Compression'] == 6 ){
                            var fileString = file + '\r\n';
                            console.log('File: ' + fileString);
                            stream.write( fileString );
                        }
                    }
                });
            } catch (error) {
                console.log('Error: ' + error.message);
            }
        });
    });
}); 

Пожалуйста, помогите.

...