php - 如何在 laravel 6 中下载文件
问题描述
我想问一下如何在 laravel 6 中使用重命名文件将我的文件下载到公共目录中?我应该在download()
方法和刀片上做什么?
我只想下载与id
(自动增量)相同的保存文件。
谢谢你。
这里route/web.php
Route::middleware('role:purchasing|admin')->group(function(){
Route::resource('purchasing', Laporan\PurchasingController::class);
Route::get('purchasing/delete/{id}', ['as' => 'purchasing.delete', 'uses' => 'PurchasingController@delete']);
Route::get('purchasing/{id}/download', 'PurchasingController@download')->name('purchasing.download');
});
这是我的控制器:
<?php
namespace App\Http\Controllers\Laporan;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Model\Purchasing;
use App\User;
use RealRashid\SweetAlert\Facades\Alert;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
class PurchasingController extends Controller
{
// .. another codes ..
public function store(Request $request)
{
// ..using validate here ..
$file = $request->file('file');
$namaFile = time() . "_Purchasing_" . $file->getClientOriginalName();
$path = 'storage/laporan/purchasing';
$file->move($path, $namaFile);
$data = new Purchasing([
'staff' => Auth::user()->name,
'divisi' => Auth::user()->role,
'tanggal' => $request->get('tanggal'),
'title' => $request->get('title'),
'desc' => $request->get('desc'),
'file' => $namaFile,
'status' => $request->get('status')
]);
$data->save();
Alert::success('Sukses', 'Laporan berhasil ditambahkan!');
return redirect('/purchasing');
}
public function download($id)
{
// what should i do here ??
}
}
解决方案
您必须查看$path
变量中的目录
存储/laporan/采购
在此目录中,您将通过变量的名称找到文件$namaFile
在下载函数中,从数据库中获取文件名并链接到目录。
$purchasing_file = Purchasing::find($id)->namaFile;
$link_to_download = storage_path('laporan/purchasing').$purchasing_file;
希望我回答了你的问题,谢谢。
推荐阅读
- material-design - 如何安装新的 ngx-admin 材质主题?
- php - 在 Stripe 中创建多个阶段,而不是使用 PHP foreach 进行调度
- python - 如何使用 Selenium 和 Python 通过部分文本从下拉菜单中选择一个选项
- android - 无法反转新添加的列表(Firebase 实时数据库)
- coordinate-transformation - 是否有任何方法可以将全局框架中的任何位置转换为 NED 框架以及从 NED 框架转换为无人机套件中的全局框架?
- javascript - 单击开关时如何在 Angular 中切换深色主题?
- javascript - 如何以安全的方式从字符串运行 javascript 代码
- ms-access - 需要帮助查找代码中的错误以过滤表单
- swift - 后台 URLSession + 合并?
- azure - Terraform - List to String 以创建 azure 订阅列表