画像を読み取って返す特別なルートを持つことができます。たとえば、次のような単純な閉鎖ルート: ファイルのプライバシーに応じて、以下のいずれかを使用できる 2 つのアプローチがあります。
1) 専用コントローラーを使用して画像を提供する:
コントローラー:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Storage;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Response;
class FileController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public static function getFile($fileName){
$path = storage_path() . '/' . $filename;
if(File::exists($path)){
return Response::download($path);
}
else
abort(404);
}
}
ルート
Route::get('/file/{file_name}','FileController@getFile');
これabc.jpg
で、この URL から/file/abc.jpg
2) シンボリック リンクを使用
する ファイルに認証や処理が必要ない場合は、この方法が最適であり、Controller に関しても簡単です
。ストレージ ディレクトリのサブフォルダーとの間のシンボリック リンクを作成します。公開ディレクトリ。
Linux では、次のコマンドを使用できます。
ln -s /path_to_storage_directory/file /path_to_public_directory/files
Windows では、次のコマンドを使用します。
mklink /j /path_to_storage_directory/file /path_to_public_directory/files
Windows で CMD を使用したくない場合、これはシンボリック リンクを作成するためのスタンドアロン アプリケーションです: Symlinker