1

ユーザーにtxtファイルをアップロードさせ、「分析」ボタンをクリックさせて分析を実行させようとしています。

私はアプリをローカルで動作させています.FS.CollectionとFileSystemを使用していますが、meteor.comへの展開にいくつかの問題がありました. ここに私のコレクションがあります:

FS.debug = true;

Uploads = new FS.Collection('uploads', {
    stores: [new FS.Store.FileSystem('uploads')]
});

アップロードされたファイルを読み取ろうとする方法は次のとおりです。

var fs = Npm.require('fs');
var readedFile = fs.readFileSync(process.env.PWD+'/.meteor/local/cfs/files/uploads/+file.copies.uploads.key, 'utf-8');

上記はローカルでは機能しますが、meteor.com にデプロイした後では機能しません。デバッグ メッセージに次のようなものが表示されます。Error: ENOENT, no such file or directory

アプリがデプロイされたときにファイルを読み取る方法がわからないので、どうすればよいですか? または、アプリを Amazon EC2 にデプロイする必要があると思いますか? アマゾンにデプロイして同じ問題を抱えていることを恐れています...

4

2 に答える 2

3

collectionFS 経由でアップロードされたファイルを http を使用してダウンロードする短い例。

var file = Uploads.findOne({ _id: myId }); // or however you find it
  HTTP.get(file.url(),function(err,result){
    // this will be async obviously
    if ( err ) console.log("Error "+err+" downloading file"+myId);
    else {
      var content = result.content; // the contents of the file
      // now do something with it
    }
  });

meteor add httphttp パッケージにアクセスする必要があることに注意してください。

于 2015-09-24T04:32:14.500 に答える
0

これはおそらくあなたが望むパッケージです:

https://github.com/tomitrescak/meteor-uploads

UI も優れており、FSCollection よりもはるかにトラブルが少ないです。

于 2015-09-24T01:04:22.780 に答える