PHP Laravel實(shí)現(xiàn)文件下載功能
Laravel 的上一個(gè) LTS(長(zhǎng)期支持)版本是 Laravel 5.1,發(fā)布于 2015 年 6 月,按照對(duì) LTS 版本的約定,兩年的 bug 修復(fù)支持到今年中旬就結(jié)束了,所以今年中旬必然要出一個(gè) LTS 后繼版本,就是 Laravel 5.5。本文重點(diǎn)給大家介紹Laravel實(shí)現(xiàn)文件下載功能的實(shí)現(xiàn)方法,大家參考下本文吧
download 方法可以用于生成強(qiáng)制讓用戶的瀏覽器下載指定路徑文件的響應(yīng)。download 方法接受文件名稱作為方法的第二個(gè)參數(shù),此名稱為用戶下載文件時(shí)看見(jiàn)的文件名稱。最后,你可以傳遞一個(gè)包含 HTTP 頭信息的數(shù)組作為第三個(gè)參數(shù)傳入該方法:
return response()->download($pathToFile); return response()->download($pathToFile, $name, $headers);
以下是本人在項(xiàng)目里使用的文件下載功能。
public function downloadfile($filename) { $file = public_path().'/test.xls'; return response()->download($file,$filename.'.xls'); }
但是呢,剛開(kāi)始進(jìn)展不是很順利,為什么使用laravel自帶的文件下載功能會(huì)失敗能,錯(cuò)誤如下提示:
FatalErrorException in HandleCors.php line 18: Call to undefined method Symfony\Component\HttpFoundation\BinaryFileResponse::header()
大概的意思就是說(shuō),header()方法沒(méi)有被定義,經(jīng)過(guò)各種摸索后找到了解決方案,我們可以重新定義一下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之后,我們?cè)偈褂胐ownload功能后發(fā)現(xiàn)能正常訪問(wèn)。
總結(jié)
以上所述是小編給大家介紹的PHP Laravel實(shí)現(xiàn)文件下載功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- Laravel 5使用Laravel Excel實(shí)現(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框架文件上傳功能實(shí)現(xiàn)方法示例
- Laravel基礎(chǔ)-關(guān)于引入公共文件的兩種方式
- 使用laravel指定日志文件記錄任意日志
- Laravel5.1 框架文件管理操作實(shí)例分析
相關(guān)文章
Mybatis Properties 配置優(yōu)先級(jí)詳解
這篇文章主要介紹了Mybatis Properties 配置優(yōu)先級(jí),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07詳解Java中AC自動(dòng)機(jī)的原理與實(shí)現(xiàn)
AC自動(dòng)機(jī)是一個(gè)多模式匹配算法,在模式匹配領(lǐng)域被廣泛應(yīng)用。本文將詳細(xì)為大家介紹AC自動(dòng)機(jī)的原理與實(shí)現(xiàn)方法,感興趣的可以了解一下2022-05-05spring?項(xiàng)目實(shí)現(xiàn)限流方法示例
這篇文章主要為大家介紹了spring項(xiàng)目實(shí)現(xiàn)限流的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07Springboot?上傳文件或頭像(MultipartFile、transferTo)
本文主要介紹了Springboot?上傳文件或頭像(MultipartFile、transferTo),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04詳解log4j.properties的簡(jiǎn)單配置和使用
本篇文章主要介紹了詳解log4j.properties的簡(jiǎn)單配置和使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12