请教一下关于使用 response ()->download ($pathToFile) 方式下载文件的一些问题
在Laravel+vue的项目中,我给前端提供了一下文件下载的接口,其中有使用到laravel中的download方法。
download 方法用于生成强制用户浏览器下载给定路径文件的响应。
//文件下载接口路由
Route::any('download', 'xxx\xxxController@downloadFile');
//路由对应的控制器方法
public function downloadFile(Request $request){
//省略生成文件部分...
return response()->download($pathToFile)->deleteFileAfterSend(true);
}
我所期望的是,前端调用此接口后,浏览器开始下载对应文件,并在文件下载完成后删除源文件。
结果是浏览器并没有开始下载文件,查看Network中对应的响应为:
我这样直接在接口中返回下载响应的方式是否正确?
如果正确,前端应该如何处理接口返回的下载响应,才能实现下载?
如果不正确,希望大家能提供一下其他的的方式
ps:在项目中有使用到JWT,我希望在下载文件时也要进行身份认证