Dropzone(帶鐵絲網)

如果我們想要更精細的東西,使用整合的 Dropzone UI 和 REST 端點,我們將需要開始新增帶有 UI 助手的自定義 REST 路由和包。

讓我們從匯入 Iron Router 和 Dropzone 開始。

 meteor add iron:router
 meteor add awatson1978:dropzone

並配置 dropzone 助手中指定的 uploads url route。

Router.map(function () {
    this.route('uploads', {
      where: 'server',
      action: function () {
        var fs = Npm.require('fs');
        var path = Npm.require('path');
        var self = this;

        ROOT_APP_PATH = fs.realpathSync('.');

        // dropzone.js stores the uploaded file in the /tmp directory, which we access
        fs.readFile(self.request.files.file.path, function (err, data) {

          // and then write the file to the uploads directory
          fs.writeFile(ROOT_APP_PATH + "/assets/app/uploads/" +self.request.files.file.name, data, 'binary', function (error, result) {
            if(error){
              console.error(error);
            }
            if(result){
              console.log('Success! ', result);
            }
          });
        });
      }
    });
  });

涼! 我們有一個帶有時髦 UI 和可程式設計 REST 端點的檔案上傳器。不幸的是,這並不是特別好。