我正在尝试使用Meteor-CollectionFS上传图像
Simlpe镜像上传成功。
但现在我也在尝试保留图像的缩略图。
但它会给出以下错误:
W20151211-14:38:38.240(5)? (STDERR) FS.Transform.createWriteStream transform function failed, Error:
I20151211-14:38:38.242(5)? Exception in queued task: Error: cfs:graphicsmagick could not find "graphicsMagick" or "imageMagick"
I20151211-14:38:38.242(5)? at gm (packages/cfs_graphicsmagick/packages/cfs_graphicsmagick.js:14:1)
I20151211-14:38:38.242(5)? at Object.createSquareThumb (model/model.js:9:1)
I20151211-14:38:38.242(5)? at packages/cfs_storage-adapter/packages/cfs_storage-adapter.js:355:1
I20151211-14:38:38.242(5)? at addPassThrough (packages/cfs_storage-adapter/packages/cfs_storage-adapter.js:421:1)
I20151211-14:38:38.243(5)? at [object Object].FS.Transform.createWriteStream (packages/cfs_storage-adapter/packages/cfs_storage-adapter.js:352:1)
I20151211-14:38:38.243(5)? at Object.self.adapter.createWriteStream (packages/cfs_storage-adapter/packages/cfs_storage-adapter.js:171:1)
I20151211-14:38:38.243(5)? at saveCopy (packages/cfs_worker/packages/cfs_worker.js:180:1)
I20151211-14:38:38.243(5)? at Object.fsCollection.files.find.observe.added (packages/cfs_worker/packages/cfs_worker.js:42:1)
I20151211-14:38:38.243(5)? at [object Object].observeChangesCallbacks.added (packages/minimongo/observe.js:153:1)
I20151211-14:38:38.243(5)? at self.applyChange.added (packages/minimongo/observe.js:53:1)下面是我的代码:
var createThumb = function(fileObj, readStream, writeStream) {
// Transform the image into a 10x10px thumbnail
gm(readStream, fileObj.name()).resize('10', '10').stream().pipe(writeStream);
};
Images = new FS.Collection("images", {
stores: [
new FS.Store.FileSystem("thumbs", { transformWrite: createThumb }, {path: "~/uploads/thumbs"}),
new FS.Store.FileSystem("images", {path: "~/uploads"}),
],
filter: {
allow: {
contentTypes: ['image/*'] //allow only images in this FS.Collection
}
}
});我还添加了以下包:
meteor add cfs:graphicsmagick那么我在这里遗漏了什么呢?
发布于 2015-12-11 18:30:58
安装graphics magick。这个包只是gm的一个包装器,你必须安装它。
我不记得确切的接口,但我认为Fs集合只接受一个对象,所以更改:
new FS.Store.FileSystem("thumbs", { transformWrite: createThumb }, {path: "~/uploads/thumbs"})在:
new FS.Store.FileSystem("thumbs", { transformWrite: createThumb , path: "~/uploads/thumbs"})https://stackoverflow.com/questions/34220623
复制相似问题