2

外部 URL にファイルがあります (Meteor が実行されているサーバーのみがアクセスできます)

http://192.168.9.39/account_5.pdf

ユーザーがリンクをクリックできるように、流星でこれを提供したいhttp://server.meteor.com/temp/account_5.pdf

これを行う方法はありますか?おそらく、それをユーザーに直接ストリーミングするか、ファイルを/public/tempフォルダーにダウンロードして提供できるようにしますか? どうすればいいですか?

ノードモジュールなどを使い果たしたとしても、私はどんな提案にもオープンです

4

3 に答える 3

2

独自の Meteor サーバーを実行していますか、それとも実際に *.meteor.com にデプロイしたいですか? (あなたは「server.meteor.com」と言ったので、私は疑問に思っていました)。

ノードからhttp.getを使用してリモート ファイルを取得し、fs.writeFile を使用てそれを temp/ ディレクトリに保存できます。

または、 http://www.catonmat.net/http-proxy-in-nodejs/のようなものを使用して提案したようにストリーミングすることもできます

独自のサーバーを実行している場合、おそらく最も簡単な方法は、このコードを小さな npm モジュールにパッケージ化することです。ノードrequireは で Meteor コードに公開されて__meteor_bootstrap__.requireいるため、リモート ファイルの取得をトリガーするには、__meteor_bootstrap__.require('my-npm-module').fetchFileToTemp(name).

ストリーミング オプション__meteor_bootstrap__.appの場合、独自のリクエスト ハンドラを接続できる Meteor の接続サーバです。

__meteor_bootstrap__.app(function (req, res, next) { ... });

接続ミドルウェアの通常の方法で。

于 2013-01-20T18:01:48.680 に答える
1

PDF を /public フォルダーにドロップしてデプロイすると、ユーザーはhttp://server.meteor.com/account_5.pdfをクリックするだけで PDF にアクセスできます。

これはあなたが期待しているものですか?お役に立てば幸いです。

于 2013-01-20T15:24:58.963 に答える
0

これは少しハックですが、(Meteor Router を使用して) 応答するルートを作成し/temp/*、リモート URL をロードするページに iframe を配置することができます。エレガントではありませんが、機能します。これをすばやく行う必要がある場合に備えて。

または、クロスオリジン XHR リクエストを実行して、その方法でファイルをフェッチすることもできます。これは、おそらくより Meteor っぽいものです。しかし、私はそれを調べる必要があります。;-)

于 2013-01-20T16:06:45.997 に答える