我需要使用graphicsmagick
來操作圖像。使用graphicsmagick在collectionFS中進行相同的讀取和寫入流
我FSCollection看起來是這樣的:
Images = new FS.Collection("media", {
stores: [
new FS.Store.FileSystem("anything"),
new FS.Store.FileSystem("something")
],
});
我的問題是,該writeStream應該像readStream一樣。這不起作用,因爲這會導致一個空的結果:
var read = file.createReadStream('anything'),
write = file.createWriteStream('anything');
gm(read)
.crop(100,100,10,10)
.stream()
.on('end',function(){ console.log('done'); })
.on('error',function(err){ console.warn(err); })
.pipe(write, function (error) {
if (error) console.log(error);
else console.log('ok');
});
無法像這樣同時讀取和寫入同一文件;有效地,當你還在讀取文件時,你將覆蓋部分文件。最好的辦法是寫入一個單獨的文件,然後在完成後重命名它。 –
@ExplosionPills這是有道理的:-)我不熟悉使用流。我怎樣才能使用臨時文件? – user3848987