您好,登錄后才能下訂單哦!
在 Laravel 中,實現文件下載非常簡單。你可以使用 response()->download()
方法來實現這一功能。以下是一個簡單的示例:
首先,確保你已經在控制器中引入了必要的命名空間:
use Illuminate\Support\Facades\Storage;
use Illuminate\Http\Response;
然后,你可以在控制器的方法中添加一個文件下載的邏輯:
public function downloadFile()
{
// 文件路徑
$filePath = storage_path('app/public/example.txt');
// 檢查文件是否存在
if (!file_exists($filePath)) {
abort(404, 'File not found');
}
// 設置下載時的文件名
$fileName = 'downloaded_example.txt';
// 下載文件
return response()->download($filePath, $fileName);
}
在這個示例中,我們從 storage/app/public
目錄下載名為 example.txt
的文件,并在下載時將文件名設置為 downloaded_example.txt
。如果文件不存在,將返回一個 404 錯誤。
如果你想要從其他存儲磁盤下載文件,可以使用 Storage
門面。例如,從 public
磁盤下載文件:
public function downloadFileFromPublicDisk()
{
// 文件路徑
$filePath = 'example.txt';
// 檢查文件是否存在
if (!Storage::disk('public')->exists($filePath)) {
abort(404, 'File not found');
}
// 設置下載時的文件名
$fileName = 'downloaded_example.txt';
// 獲取文件內容
$fileContent = Storage::disk('public')->get($filePath);
// 下載文件
return response($fileContent, Response::HTTP_OK, [
'Content-Type' => Storage::disk('public')->mimeType($filePath),
'Content-Disposition' => 'attachment; filename="' . $fileName . '"',
]);
}
這個示例中,我們從 public
磁盤下載名為 example.txt
的文件,并在下載時將文件名設置為 downloaded_example.txt
。如果文件不存在,將返回一個 404 錯誤。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。