2017-06-04 90 views
1

我在公用目錄文件夾中有一些文件。我想向用戶發送特定文件的鏈接。現在我按照以下方式給出鏈接。Laravel如何使下載鏈接僅用於身份驗證用戶?

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

通過這實際上用戶知道我的目錄is..Can我使下載鏈接的方式,其中只有驗證用戶可以下載文件或者我可以隱藏URL目錄?

+0

您可以將文件放入存儲目錄並通過Controller管理下載... –

回答

2

首先,將公共可訪問目錄中的所有文件移動到私人文件夾,例如,移動到storage_path('private/')文件夾。

其次,創建一個方法,以任何方式從URL接收文件名(解碼來自查詢,或通過ID從數據庫加載),授權/其他事物檢查,如果它是正確的,給它給客戶端下載。 這可以按如下方式完成:return response()->download($pathToFile);

然後,不要使用asset()直接鏈接到文件,而是爲用戶提供指向執行創建方法的路由的鏈接。