Javascript 如何使用node.js确认img文件拷贝、转换完成
在我的节点应用程序Javascript 如何使用node.js确认img文件拷贝、转换完成,javascript,node.js,fs,Javascript,Node.js,Fs,在我的节点应用程序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] + '
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');
});
}
for(变量i=0;i
或者是否有更好的方法?完成复制、转换和删除。如果仅为转换而复制原始文件,则无需执行此操作。您的转换可以很简单:
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));
}
var图像=[
“image1.png”,
“image2.png”,
“image3.png”
];
对于(var i=0;i
完成后,流应发出事件“结束”。你能给我举个例子吗?thx~什么是GetReadableStreamName()函数,如何使用?我需要原始文件。转换原始文件将消失。谢谢!我尝试了,但我仍然想知道如何确认操作已完成。此绑定(null,file)的功能是什么?on('finish')告诉您转换何时完成。我正在使用.bind(null,file)
捕获file变量,如果我不这样做,它将记录done:image3.png
3次(,the)。在bind(null,file)函数中,“null”参数是什么?如何使用参数。