Filepicker.io
为了扩展,我们必须停止在服务器上使用本地存储,并开始使用专用文件存储服务或实现水平存储层。开始使用可扩展文件存储的最简单方法是使用像 Filepicker.io 这样的解决方案,它支持 S3,Azure,Rackspace 和 Dropbox。loadpicker 已经成为流行的 Filerpicker unipackage 一段时间了。
meteor add mrt:filepicker
Filepicker 模式与其他解决方案完全不同,因为它实际上是关于第三方集成。首先添加一个 filepicker 输入,你将看到它在很大程度上依赖于 data- *属性,这在 Meteor 应用程序中是一种相当罕见的模式。
<input type="filepicker"
id="filepickerAttachment"
data-fp-button-class="btn filepickerAttachment"
data-fp-button-text="Add image"
data-fp-mimetypes="image/*"
data-fp-container="modal"
data-fp-maxsize="5000000"
data-fp-services="COMPUTER,IMAGE_SEARCH,URL,DROPBOX,GITHUB,GOOGLE_DRIVE,GMAIL">
你还需要设置 API 密钥,构建 filepicker 小部件,触发它,并观察它的输出。
if(Meteor.isClient){
Meteor.startup(function() {
filepicker.setKey("YourFilepickerApiKey");
});
Template.yourTemplate.rendered = function(){
filepicker.constructWidget($("#filepickerAttachment"));
}
Template.yourTemplate.events({
'change #filepickerAttachment': function (evt) {
console.log("Event: ", evt, evt.fpfile, "Generated image url:", evt.fpfile.url);
});
});