10

私は流星から始めたばかりです。

「multer」パッケージを見つけて追加しました:

meteor add pfafman:multer

さて、Meteor のサーバー側をどのように設定して使用するのだろうか。

私の単純なノードアプリでは、次のように使用します。

app.use(multer({ dest: './uploads/',
        rename: function (fieldname, filename) {
            return filename+Date.now();
        },
        onFileUploadStart: function (file) {
            console.log(file.originalname + ' is starting ...');
        },
        onFileUploadComplete: function (file) {
            console.log(file.fieldname + ' uploaded to  ' + file.path);
            var fileName = file.name;
            var done=true;
        }
    }));

Meteor でこれに相当するサーバー コードは何ですか?

4

1 に答える 1

5

pfafman の multer は、npm の multer のラッパーにすぎません (そのソースを調べると、実際に行っていることはすべて

multer = Npm.require('multer');

そして、それをグローバル変数としてエクスポートしますapi.export('multer');(彼はデモを含めて、テストケースさえ含めていませんでした。))

Express では、app.use()ミドルウェア 'レイヤー' をミドルウェア スタックに追加するために使用されます。multerはすでにサーバー上のどこからでもアクセスできるグローバル変数になっているため ( を取得した後) meteor add pfafman:multer、 で呼び出すことにより、エクスプレスで行う方法で使用できますMeteor.startup

if (Meteor.isServer) {
  Meteor.startup(function () {
    multer({ dest: './uploads/',
        rename: function (fieldname, filename) {
            return filename+Date.now();
        },
        onFileUploadStart: function (file) {
            console.log(file.originalname + ' is starting ...');
        },
        onFileUploadComplete: function (file) {
            console.log(file.fieldname + ' uploaded to  ' + file.path);
            var fileName = file.name;
            var done=true;
        }
    })
  });
}

注:これにより、uploadsディレクトリが作成されます

YourMeteorProject/.meteor/local/build/programs/server/
于 2015-09-09T14:35:38.697 に答える