如何确认img文件的副本,转换完成,使用node.js

How to confirm the img file copy, conversion is completed, using node.js

本文关键字:转换 使用 js node 副本 何确认 确认 文件 img      更新时间:2023-09-26

在我的节点应用程序fsgm中复制和转换img文件,如何检查复制和转换特定流是否完整?

例如:Img是图片url数组。

for (var i = 0; i < Img.length; i++) {
    // copy img file , how to check this [i] img is copy complete
    fs.createReadStream('/' + Img[i]).pipe(fs.createWriteStream('/' + pngImg[i] + '_copy.png');
    gm('/' + Img[i].'_copy.png')
        .stream('jpg', function (err, stdout, stderr) {
            fs.createWriteStream('/' + Img[i].jpg);
            stdout.pipe(writeStream);
        });  // conversion img png to jpg , how to check this [i] img is conversion complete

    fs.unlink('/' + Img[i] + '_copy.png'), function (err) {
        console.log('successfully deleted');
    });
}

或者是否有更好的方法?以完成复制、转换和删除。

如果只为转换而复制原始文件,则不需要这样做。您的转换可以很简单:

var images = [
    'image1.png',
    'image2.png',
    'image3.png'
];
for (var i = 0; i < images.length; i++) {
    var file = images[i];
    var writeStream = fs.createWriteStream(__dirname + '/' + file + '.jpg');
    gm(__dirname + '/' + file)
        .stream('jpg')
        .pipe(writeStream)
        .on('finish', (function done(file) {
            console.log('done: ' + file);
        }).bind(null, file));
}