首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FS.Transform.createWriteStream转换函数失败,错误

FS.Transform.createWriteStream转换函数失败,错误
EN

Stack Overflow用户
提问于 2015-12-11 17:57:00
回答 1查看 282关注 0票数 1

我正在尝试使用Meteor-CollectionFS上传图像

Simlpe镜像上传成功。

但现在我也在尝试保留图像的缩略图。

但它会给出以下错误:

代码语言:javascript
复制
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)

下面是我的代码:

代码语言:javascript
复制
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
    }
  }
});

我还添加了以下包:

代码语言:javascript
复制
meteor add cfs:graphicsmagick

那么我在这里遗漏了什么呢?

EN

回答 1

Stack Overflow用户

发布于 2015-12-11 18:30:58

安装graphics magick。这个包只是gm的一个包装器,你必须安装它。

我不记得确切的接口,但我认为Fs集合只接受一个对象,所以更改:

代码语言:javascript
复制
  new FS.Store.FileSystem("thumbs", { transformWrite: createThumb }, {path: "~/uploads/thumbs"})

在:

代码语言:javascript
复制
  new FS.Store.FileSystem("thumbs", { transformWrite: createThumb , path: "~/uploads/thumbs"})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34220623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档