Не вдаваясь в подробности, проверки на существование файла не происходит...
Может как-то так попробовать?
function get_file_info(file_path, fn) {
if (isFile(file_path)) {
im.readMetadata(file_path, function(err, data) {
if (err) return fn(err);
fn(null, data);
});
}
}
function isFile(path) {
try {
return fs.statSync(path).isFile();
} catch(ignore) {}
return false;
}