2017-06-04 12 views
1

パブリックディレクトリファイルフォルダにいくつかのファイルがあります。ユーザーに特定のファイルのリンクを送信したいと思います。現在、私はリンクを次のようにしています。私は、ダウンロードリンクのみのユーザーがファイルをダウンロードすることができますか私は、URLからディレクトリを隠すことができます認証していることの方法を作るis..CanLaravelどのようにユーザーを認証するためだけにダウンロードリンクを作るのですか?

<a href="{{asset('files/'.$row->file_path)}}"> 
    <button class="btn btn-success">Download</button> 
</a> 

は、それによって、実際にユーザーがどこのディレクトリを知っていますか?

+0

Storage Directoryにファイルを置いて、Controller経由でダウンロードを管理できます... –

答えて

2

まず、公開アクセス可能なディレクトリからすべてのファイルをプライベートに移動します(例:storage_path('private/'))。

第2に、URLからのファイル名を問合せからデコードしたり、データベースからIDでロードしたり、許可/その他のチェックを行うメソッドを作成してください。それをクライアントにダウンロードします。 return response()->download($pathToFile); asset()をファイルに直接リンクする代わりに、作成された方法を実行するルートへのリンクをユーザーに与えます。

関連する問題