私はlaravelのguzzleを使用して外部APIから画像にアクセスしようとしていますが、呼び出しが非常に高価になり、ページの読み込み時間に大きな影響を与えます。私はプロキシコールが問題を解決することを知っていますが、特定のエンドポイントがプロキシとして機能し、イメージを返すことができるlaravelでこれを達成する方法があります。ありがとう外部APIからプロキシを使用して画像アセットを要求する
1
A
答えて
0
私は自分自身の問題に対する解決策を見つけ、答えを投稿します。より良い解決策があります。つまり、そのような呼び出しを処理するようにサーバーを構成することです。しかし、Laravelの文脈では、ここで私がしたことがあります。
私が一緒に仕事をしていたデータ
[
"orientation" => "portrait"
"fig_type" => "diagram"
"id" => "A_SDEF-05-2016-0003001"
"position" => "float"
"label" => "Figure 1."
"caption" => "some caption"
"link" => "/resource/id/A_SDEF-05-2016-0003001.tif"
]
ソリューション:
ステップ1 ループの機能のようにLaravelでコレクションを使用したデータによる。
// Pass the link as a get request parameter to laravel route
// i.e. localhost/proxy/image?link=resource/id/A_SDEF-05-2016-0003001.tif
return collect($images)->each(function ($image)
{
if ($image['link']) {
$image['link'] = ltrim($image['link'],'/');
return $image['link'] ="link={$image['link']}";
}
return $image;
});
ステップ2 経路でエンドポイントを登録し、例えばファイル
Route::get('/proxy/image', '[email protected]_image');
ステップ3 制御方法すなわちrequest_imageはがつがつ食う要求を行いとして応答を返す:
$link = request('link');
return \Response::stream(function() use($image){
echo $image;
},200, [$headers]);
ステップ4 を出力するために、いくつかの動的静的関数または定期的な機能を持っていますあなたはimg srcをビルドしますが、ProxyControllerイメージメソッドを呼び出すことになります。すなわち、
$img = '<img src="'. action('[email protected]_image',$image['link']).'") >";
- ステップ5 ブレード内のHTML
{!! Asset::image($image) !!} // Just output the built html
はそれが役に立てば幸い出力:D
関連する問題
- 1. Flexで同期してByteArrayを外部アセット画像から取得
- 2. XObjectを使用して外部画像を使用したPDF
- 3. 外部インターフェイスを使用した画像
- 4. Node.jsを使用してhttpリクエストから外部APIに画像を表示する方法
- 5. 背景画像を要求するために使用できる画像APIはありますか
- 6. PHPを使用してpublic_htmlの外部から画像を読み込む?
- 7. .NETでのプロキシ認証 - 外部API用
- 8. androidのアセットから複数の画像をアセットから添付する
- 9. Ember CLIを使用して外部ライブラリからすべてのアセットをインポートする正しい方法
- 10. Node.jsでhtml-pdfを使用する際に外部アセット(画像、スタイルシートなど)を読み込む方法
- 11. vue-cliを使用して別のバックエンドサーバーへのプロキシ要求
- 12. Telerik REST APIを使用してC#コンソールアプリケーションからレポートを要求する方法
- 13. iOS用のPDF画像アセット
- 14. Pythonの要求:私は、ページ上の画像を投稿するFacebookのAPIを使用してい
- 15. 外部の要求からフォルダを保護する
- 16. Tomcatの外部ディレクトリからコンテンツを要求する方法は?
- 17. プロキシを使用しているときに改造要求を防止する
- 18. 通知アイコンとして外部画像を使用できますか?
- 19. 外部ボタンを使用して、ファララエディタで画像/ビデオをアップロードする
- 20. symfony:アセット画像をjavascriptで使用していますか?フラットなPHPコードで
- 21. ロード画像アセット
- 22. キャッシング画像アセット
- 23. OAuth2ミドルウェアを使用して外部APIからデータを取得する方法
- 24. PHP REST APIを使用してTwitterから画像を取得しますか?
- 25. HTTPプロキシでCONNECT要求でキープアライブを使用できますか?
- 26. Google Maps API V3を使用してポリゴンマウスオーバーで外部divをトリガーするイベント(画像フェーダイン)
- 27. 画像をギャラリーに表示アセット/画像
- 28. angularjsを使用して、アンプラッシュAPIからランダムな画像を取得する
- 29. Bitmapを使用してInstagram APIから画像を取得する
- 30. JSONを使用してJSON/APIからの画像を表示する
は、uは、この場合にキャッシュを検討していますか? –
はい、私は、呼び出しが行われた後は正しくキャッシングを使用していますが、初めてオブジェクトの配列を取得すると最初の呼び出しが高価になり、各オブジェクトに特定のイメージがあり、取得する必要があります。理にかなった希望 – alithedeveloper