【发布时间】:2018-04-20 16:54:56
【问题描述】:
在 Laravel 中我使用这条路线
Route::get('admin/showBill/{file}','Admin\FileController@showBill');
还有这段代码
class FileController extends AuthController
{
public function showBill($file)
{
$path = storage_path('app/bills/' . basename($file) );
if(!\File::exists($path)) return back();
return response()->file($path);
}
从我的存储文件夹中显示一个 pdf。
所以,如果我的/storage/app/bills/ 文件夹中有pdf bill-1.pdf,那么我可以使用网址查看它
example-domain.com/admin/showBill/bill-1.pdf
问题是,如果我用浏览器打开那个 pdf,替换它,然后刷新 (F5) 页面,就会显示旧账单。我猜是因为它存储在缓存中。我可以强制 Laravel 显示新替换的文件吗?
我试过了
public function showBill($file)
{
$path = storage_path('app/bills/' . basename($file) );
if(!\File::exists($path)) return back();
$path .= '?v='. time();
return response()->file($path);
}
但是 Laravel 告诉我这个文件不存在。我正在寻找一种无需重命名 pdf 文件的解决方案。
【问题讨论】:
标签: php laravel-5 browser-cache