我正在尝试使用graphicsmagick
并将cfs
结果保存到 S3(cfs:gridfs、cfs:graphicsmagick 和 cfs:s3)进行一些裁剪。
裁剪后的图像应该存储到三个商店(主商店、公共商店和缩略图)——商店本身有一些transformWrite
功能。所以我想我必须为此创建一个临时流,但我未能创建这个临时流。我需要一些帮助。
我正在使用gridFS,没有文件系统
var file = Media.findOne({ _id: fileId }),
read = file.createReadStream('main');
gmread = gm(read)
.crop(selection.w, selection.h, selection.x, selection.y)
.stream();
gmread.on('end', Meteor.bindEnvironment(function (error, result) {
if (error)
console.warn(error);
// create a temp stream
var tmpread = fs.createReadStream(filename); // <-- MY PROBLEM
tmpread.on('end', Meteor.bindEnvironment(function (error, result) {
if (error)
console.warn(error);
}));
// set cropped image to main store
var write = file.createWriteStream('main');
tmpread.pipe(write);
// set public store image
var writePublic = file.createWriteStream('public');
gm(tmpread).stream().pipe(writePublic);
// set thumbnail image
var writeThumbnail = file.createWriteStream('thumbnail');
gm(tmpread).stream().pipe(writeThumbnail);
}));
gmread.pipe(temp);