如何确认img文件复制,转换完成,using node.js
How to confirm the img file copy, conversion is completed, using node.js
在我的节点应用程序中fs
和gm
复制和转换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));
}
在我的节点应用程序中fs
和gm
复制和转换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));
}