首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在collectionFS的meteor中将文件转换为jpeg

如何在collectionFS的meteor中将文件转换为jpeg
EN

Stack Overflow用户
提问于 2016-04-04 21:19:10
回答 1查看 110关注 0票数 0

我使用的是Graphicsmagick,还安装了所需的插件cfs:gm和libjpeg-dev,我使用的是文件系统适配器,这是我的代码

代码语言:javascript
复制
Avatar = new FS.Collection("avatars", {
    stores: [
        new FS.Store.FileSystem("avatars",
            {
                path: '~/uploads',
                beforeWrite: function(fileObj) {
                    return {
                        extension: 'jpg',
                        type: 'image/jpg'
                    };
                },
                transformWrite:function(fileObj, readStream, writeStream) {
                    gm(readStream, fileObj.name()).resize('200', '200').stream('JPG').pipe(writeStream);
                }
            })
    ],
    filter: {
        maxSize:1000000,
        allow: {
            contentTypes: ['image/*']
        }
    }
});
Avatar.allow({
    insert: function (userId, doc) {
        if(doc.owner != userId)
            return false;
        else
            return true;
    },
    remove: function (userId,doc) {
        if(doc.owner != userId)
            return false;
        else
            return true;
    },
    download: function () {
        return true;
    },
    update: function (userId,doc) {
        if(doc.owner != userId)
            return false;
        else
            return true;
    }
});

但它似乎根本没有转换,而是我得到了一些空文件,当我试图访问它从文件url这是我得到的

代码语言:javascript
复制
Error in method "/cfs/files/:value/:value/", Error: Error: start must be <= end
    at new ReadStream (fs.js:1489:13)
    at Object.fs.createReadStream (fs.js:1450:10)
    at Object.FS.StorageAdapter.createReadStream (packages/cfs_filesystem/packages/cfs_filesystem.js:67:1)
    at Object.self.adapter.createReadStreamForFileKey (packages/cfs_storage-adapter/packages/cfs_storage-adapter.js:83:1)
    at [object Object].FS.Transform.createReadStream (packages/cfs_storage-adapter/packages/cfs_storage-adapter.js:392:1)
    at Object.self.adapter.createReadStream (packages/cfs_storage-adapter/packages/cfs_storage-adapter.js:93:1)
    at Object.httpGetHandler (packages/cfs_access-point/packages/cfs_access-point.js:408:1)
    at Object.accessPoint.get (packages/cfs_access-point/packages/cfs_access-point.js:675:1)
    at packages/cfs_http-methods/packages/cfs_http-methods.js:582:1

只要我不转换图像,代码就是好的,我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2016-04-26 22:14:43

同样的问题,我有类似的代码:-(

编辑:

我在{path:'~/uploads'}中出错,(其中}不正确)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36403822

复制
相关文章

相似问题

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