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);
  });
});