0

外部サービスを使用して画像を作成しています。ユーザーが API にアクセスして画像を要求できるようにしたいと考えています。次に、私の Express サーバーは外部サービスからそれを取得し、それをユーザーに提供します。プロキシのようなものだと思いますが、正確ではありません。

これを行う簡単な方法はありますか?できれば、イメージをハード ドライブにダウンロードしてから読み込んで提供する必要のない方法はありますか?

リクエストライブラリを使用して、これを思いつくことができました:

var request = require("request");

exports.relayImage = function(req, res){
    request(req.params.url).pipe(res);
}

それはうまくいくようです。これを行うためのより効率的な方法 (コード行の観点からではなく、サーバー リソース上での意味) がある場合は、声を上げてください。

4

2 に答える 2

2

あなたがしていることはまさにあなたがすべきことであり、最も効率的な方法です。パイプを使用すると、データは受信時に送信されるため、バッファリングと送信に必要な追加リソースは必要ありません。

また、中継する可能性のあるコンテンツ タイプやその他の応答ヘッダーにも注意してください。最後に、サーバーを介して誰でも必要なものを要求できるオープン プロキシを効果的に構築したことを認識してください。これは少し危険なので、最終的なアプリケーションでは必ずロックしてください。

于 2013-08-03T02:35:26.807 に答える