在我的演示中,我使用https://github.com/tomitrescak/meteor-uploads包进行图片上传,其工作方式就像魅力一样。现在我想在上传文件之前调用我的图像处理功能。
完成图像处理功能后,我想开始将图像上传到我的本地(已经通过meteor-uploads包工作)。
如何实现?
答案 0 :(得分:0)
我会切换到使用CollectionFS。他们具有文件文件上传的图像处理(imagemagick,graphicsmagick)功能。因此,当您使用CollectionFS定义集合时,请使用:
Images = new FS.Collection("images", {
stores: [
new FS.Store.FileSystem("thumbs", { transformWrite: createThumb }),
new FS.Store.FileSystem("images"),
],
filter: {
allow: {
contentTypes: ['image/*'] //allow only images in this FS.Collection
}
}
});
var createThumb = function(fileObj, readStream, writeStream) {
// Transform the image into a 10x10px thumbnail
gm(readStream, fileObj.name()).resize('10', '10').stream().pipe(writeStream);
};
请注意,createThumb在函数graphicsmagick
(createThumb
)中使用gm
来为您调整图像大小,然后将其插入特定商店下的集合images
中thumbs
。