PHP Laravel實現(xiàn)文件下載功能
Laravel 的上一個 LTS(長期支持)版本是 Laravel 5.1,發(fā)布于 2015 年 6 月,按照對 LTS 版本的約定,兩年的 bug 修復(fù)支持到今年中旬就結(jié)束了,所以今年中旬必然要出一個 LTS 后繼版本,就是 Laravel 5.5。本文重點給大家介紹Laravel實現(xiàn)文件下載功能的實現(xiàn)方法,大家參考下本文吧
download 方法可以用于生成強制讓用戶的瀏覽器下載指定路徑文件的響應(yīng)。download 方法接受文件名稱作為方法的第二個參數(shù),此名稱為用戶下載文件時看見的文件名稱。最后,你可以傳遞一個包含 HTTP 頭信息的數(shù)組作為第三個參數(shù)傳入該方法:
return response()->download($pathToFile); return response()->download($pathToFile, $name, $headers);
以下是本人在項目里使用的文件下載功能。
public function downloadfile($filename) { $file = public_path().'/test.xls'; return response()->download($file,$filename.'.xls'); }
但是呢,剛開始進展不是很順利,為什么使用laravel自帶的文件下載功能會失敗能,錯誤如下提示:
FatalErrorException in HandleCors.php line 18: Call to undefined method Symfony\Component\HttpFoundation\BinaryFileResponse::header()
大概的意思就是說,header()方法沒有被定義,經(jīng)過各種摸索后找到了解決方案,我們可以重新定義一下header,在CorsMiddleware的handle方法中添加如下方法:
class CorsMiddleware { public function handle($request, Closure $next) { $response = $next($request); $response->headers->set('Access-Control-Allow-Origin' , '*'); $response->headers->set('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE'); $response->headers->set('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With, Application'); return $response; } }
最后,再重新定義完header之后,我們再使用download功能后發(fā)現(xiàn)能正常訪問。
總結(jié)
以上所述是小編給大家介紹的PHP Laravel實現(xiàn)文件下載功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- Laravel 5使用Laravel Excel實現(xiàn)Excel/CSV文件導(dǎo)入導(dǎo)出的功能詳解
- vuejs+element-ui+laravel5.4上傳文件的示例代碼
- 修改Laravel5.3中的路由文件與路徑
- 在Laravel5中正確設(shè)置文件權(quán)限的方法
- PHP框架laravel的.env文件配置教程
- Laravel最佳分割路由文件(routes.php)的方式
- PHP Laravel 上傳圖片、文件等類封裝
- Laravel框架文件上傳功能實現(xiàn)方法示例
- Laravel基礎(chǔ)-關(guān)于引入公共文件的兩種方式
- 使用laravel指定日志文件記錄任意日志
- Laravel5.1 框架文件管理操作實例分析
相關(guān)文章
Mybatis Properties 配置優(yōu)先級詳解
這篇文章主要介紹了Mybatis Properties 配置優(yōu)先級,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07Springboot?上傳文件或頭像(MultipartFile、transferTo)
本文主要介紹了Springboot?上傳文件或頭像(MultipartFile、transferTo),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04