13

我看到以前在这里问过这个问题,但此后没有任何Meteor.http可用的信息。我仍在掌握 Meteor 的概念,文件上传完全让我望而却步。

这是我的问题:
那么,在我认为正确的方法中,
Meteor.http.call("POST", url, [options], [asyncCallback])
你为url放了什么?使用流星中的客户端/服务器 javascript 关系,它似乎并没有真正使用那么多的 url。

如果有人有一个在流星中上传文件的基本示例,那就太棒了。

4

5 回答 5

6

一直在玩流星。使 collectionFS 混合了流星和 gridFS(可以兼容)。在这里测试它:http ://collectionfs.meteor.com/ 它支持退出大文件、多个文件、用户等。我测试了 50Mb 似乎还可以,如果连接丢失或浏览器死机,用户可以恢复上传。甚至应该可以让多个用户上传到完全相同的文件 - 还没有退出找到它的用例,但这是可能的。帐户、发布等与集合一样——测试处于自动发布模式,尽管只有元数据可用——数据块通过 blob 在后台提供。

我会尝试在github上获取它,

于 2013-01-05T08:11:48.277 回答
4

看看 filepicker.io。他们处理上传,将其存储到您的 S3 中,然后将您可以转储到数据库中的 URL 返回给您。

  1. 将文件选择器脚本放入您的客户端文件夹。

    wget https://api.filepicker.io/v0/filepicker.js
    
  2. 插入文件选择器输入标签

    <input type="filepicker" id="attachment">
    
  3. 在启动时,初始化它:

    Meteor.startup( function() {
        filepicker.setKey("YOUR FILEPICKER API KEY");
        filepicker.constructWidget(document.getElementById('attachment'));
    });
    
  4. 附加事件处理程序

    Template.templateNameHere.events({
        'change #attachment': function(evt){
            console.log(evt.files);
        }
    });
    

(我已经发布了如何使用 Meteor 处理文件上传?抱歉。我是新来的。复制相同的答案两次是否符合规定?任何更了解的人都可以随时编辑。)

于 2012-09-18T20:52:33.463 回答
1

查看如何使用服务器上的 Meteor.Method 和客户端上的 FileReader 的 api 来完成此操作

https://gist.github.com/dariocravero/3922137

经过几次搜索,这在我看来是处理文件上传最简单的(目前也是流星的风格),没有额外的依赖项。

于 2014-04-03T10:14:28.687 回答
-1

由于流星默认包含 JQuery,因此您可以使用 Jquery 插件,我想,类似:https ://github.com/blueimp/jQuery-File-Upload/wiki/Options可以为您解决问题,并支持GET 和 PUT。

否则,让它工作会很痛苦,但并非不可能,因为您可以在流星中访问 PUT。

如果您更喜欢更纯粹的 JS 解决方案,也许您可​​以查看:http: //igstan.ro/posts/2009-01-11-ajax-file-upload-with-pure-javascript.html

并适应它。

文件上传没有现成的支持,所以分享你的想法,我会很感兴趣的!

于 2012-08-10T08:33:18.447 回答
-1

或者(如果你不想使用像 filepicker 这样的第三方解决方案)你可以使用流星路由器包。

这处理服务器端的 HTTP 请求。

于 2013-06-09T18:41:11.363 回答