为了扩展,我们必须停止在我们的服务器上使用本地存储,并开始使用专用的文件存储服务或实现水平存储层。开始使用可扩展文件存储的最简单方法是使用像 Filepicker.io 这样的解决方案,它支持 S3、Azure、Rackspace 和 Dropbox。loadpicker 一段时间以来一直是流行的 Filerpicker 单包。
meteor add mrt:filepicker
Filepicker 模式与其他解决方案有很大不同,因为它实际上是关于 3rd 方集成的。首先添加一个文件选择器输入,您将看到它严重依赖于 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 密钥、构建文件选择器小部件、触发它并观察它的输出。
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); }); });