我想使用下拉菜单下载文件,下拉菜单是从数据库中循环出来的:
这是控制者 DataController 方法 index(),用于显示数据库中的文件名:
public function index()
{
$data = Document::select('filename')->get();
return view('testdata', compact('data'));
}
这是用于下载文件的文件的下载功能,文件名取决于我选择 Burger.jpg 时的文件名,因此下载的文件应为 Burger.jpg >
public function download(Request $request)
{
$data = Document::find($request->filename);
return response()->download(public_path($data));
return redirect()->back();
}
但是当我选择 Burger.jpg 时,下载的文件是 sow.docx ,我选择了 carbon.png ,下载的文件也 sow.docx ,阿尔萨斯语 sow.docx ,
这是我的表单操作:
<form
method="get"
action="{{route('download')}}"
accept-charset="UTF-8"
enctype="multipart/form-data">
<div class="form-group">
<select class="custom-select" name="filename" id="input-filename">
<option value="">
Select data
</option>
@foreach($data as $datas)
<option value="{{$datas->id}}">{{$datas->filename}}</option>
@endforeach
</select>
</div>
<button type="submit" class="btn btn-primary">Download</button>
</form>
如何根据 id 下载?
当我选择 Burger.jpg 从而下载了 Burger.jpg 时,当我选择 sow.docx 时,下载的是 sow。 docx ??? 怎么会那样? 谢谢