来自cfsFileUrl处理程序的CollectionFS映像url无法正常工作

时间:2013-12-04 01:36:33

标签: meteor

我已经按照collectionFS指南和其他几个stackoverflow问题[这里] [1],但我仍然在显示图像时遇到错误。显示损坏的图像图标,控制台打印“资源解释为图像,但使用MIME类型text / html传输:”。知道我能做些什么来解决这个问题吗?

我的代码如下:

HTML

<template name="fileList">
    {{#each images}}
        {{name}}
        <img src="{{cfsFileUrl 'default1'}}">
        <br />
    {{else}}
        No Files uploaded
    {{/each}}
</template>

客户端JS

Template.fileList.helpers({
    'images': function(){
        return ImagesFS.find({}, {sort: {uploadDate:-1}});
    }
});

服务器JS

if(Meteor.isServer){

    ImagesFS.fileHandlers({
      default1: function(options) { // Options contains blob and fileRecord — same is expected in return if should be saved on filesytem, can be modified
        console.log('I am handling default1: ' + options.fileRecord.filename);
         console.log(options.destination());
        return { blob: options.blob, fileRecord: options.fileRecord }; // if no blob then save result in fileHandle (added createdAt)
      }
    });
}

2 个答案:

答案 0 :(得分:6)

我通过以下方式手动添加cfs-public-folder包来实现此目的:

meteor add cfs-public-folder

现在文件显示在浏览器中,URL显示在

http://localhost:3000/cfs/<collectionFS name>/<imageId_fileHandler.ext> 

的工作原理。

答案 1 :(得分:1)

cfs-public-folder 

在0.9.x

上不再有效

请使用:

.url()

MyColletionCFS.findOne().url()