我看到以前在这里问过这个问题,但此后没有任何Meteor.http
可用的信息。我仍在掌握 Meteor 的概念,文件上传完全让我望而却步。
这是我的问题:
那么,在我认为正确的方法中,
Meteor.http.call("POST", url, [options], [asyncCallback])
你为url放了什么?使用流星中的客户端/服务器 javascript 关系,它似乎并没有真正使用那么多的 url。
如果有人有一个在流星中上传文件的基本示例,那就太棒了。
我看到以前在这里问过这个问题,但此后没有任何Meteor.http
可用的信息。我仍在掌握 Meteor 的概念,文件上传完全让我望而却步。
这是我的问题:
那么,在我认为正确的方法中,
Meteor.http.call("POST", url, [options], [asyncCallback])
你为url放了什么?使用流星中的客户端/服务器 javascript 关系,它似乎并没有真正使用那么多的 url。
如果有人有一个在流星中上传文件的基本示例,那就太棒了。
一直在玩流星。使 collectionFS 混合了流星和 gridFS(可以兼容)。在这里测试它:http ://collectionfs.meteor.com/ 它支持退出大文件、多个文件、用户等。我测试了 50Mb 似乎还可以,如果连接丢失或浏览器死机,用户可以恢复上传。甚至应该可以让多个用户上传到完全相同的文件 - 还没有退出找到它的用例,但这是可能的。帐户、发布等与集合一样——测试处于自动发布模式,尽管只有元数据可用——数据块通过 blob 在后台提供。
我会尝试在github上获取它,
看看 filepicker.io。他们处理上传,将其存储到您的 S3 中,然后将您可以转储到数据库中的 URL 返回给您。
将文件选择器脚本放入您的客户端文件夹。
wget https://api.filepicker.io/v0/filepicker.js
插入文件选择器输入标签
<input type="filepicker" id="attachment">
在启动时,初始化它:
Meteor.startup( function() {
filepicker.setKey("YOUR FILEPICKER API KEY");
filepicker.constructWidget(document.getElementById('attachment'));
});
附加事件处理程序
Template.templateNameHere.events({
'change #attachment': function(evt){
console.log(evt.files);
}
});
(我已经发布了如何使用 Meteor 处理文件上传?抱歉。我是新来的。复制相同的答案两次是否符合规定?任何更了解的人都可以随时编辑。)
查看如何使用服务器上的 Meteor.Method 和客户端上的 FileReader 的 api 来完成此操作
https://gist.github.com/dariocravero/3922137
经过几次搜索,这在我看来是处理文件上传最简单的(目前也是流星的风格),没有额外的依赖项。
由于流星默认包含 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
并适应它。
文件上传没有现成的支持,所以分享你的想法,我会很感兴趣的!
或者(如果你不想使用像 filepicker 这样的第三方解决方案)你可以使用流星路由器包。
这处理服务器端的 HTTP 请求。