5
Laravel 5.1を使用してウェブサイトの画像アップロード機能を作成しています。セキュリティ上の問題があるため、/public
の代わりに/storage/app
フォルダに保存することをお勧めします。例えば画像のURL、:/storage
に画像要求を指すようにLaravel 5.1 - 保存フォルダに保存された画像を表示する
http://app.com/image/<image_name>
:
/storage/app/images/<image_name>
/storage/app
から画像を得るために、私はこのための具体的なルートを設定
Route::controllers([
'image' => 'Frontend\ImageController',
]);
ImageController
には、応答を作成するコードを示します。
public function missingMethod($filename = [])
{
if (is_array($filename)) {
$filename = implode('/', $filename);
}
// storage_path('app') - path to /storage/app folder
$path = storage_path('app') . '/' . $filename;
$file = \File::get($path);
$type = \File::mimeType($path);
return \Response::make($file,200)
->header("Content-Type", $type);
}
私の問題は、このルートを使用してイメージを取得した後、自分のビューに表示できないということです。 404、500、その他のエラーステータスコードはありませんでしたが、URLが要求されていましたが、壊れた画像アイコンが表示されました。私のコードに何か問題はありますか?
ありがとうございました!
[Laravel 5 - View内のストレージにアップロードされた画像にアクセスするにはどうすればよいですか?](http://stackoverflow.com/questions/30191330/laravel-5-how-to-access-image-uploaded-in- storage-within-view) – Bogdan
私は試しましたが、上記のように画像を表示できません – xlKD
ファイルをHTTPサーバーで読み取ることはできますか? 'missingMethod'メソッドで画像処理を実装した理由はありますか?このメソッドは1つの引数を受け取り、パラメータの配列であり、あなたが定義したような '$ filename'ではありません。シンボリックリンクのアプローチを試しましたか? – Bogdan