Php Laravel Excel下载不起作用
问题与这里描述的相同 但我不能相信,如果不使用其他资源,没有任何方法可以在Laravel中处理Excel下载。我已经能够使用PDF的Php Laravel Excel下载不起作用,php,laravel,download,axios,laravel-excel,Php,Laravel,Download,Axios,Laravel Excel,问题与这里描述的相同 但我不能相信,如果不使用其他资源,没有任何方法可以在Laravel中处理Excel下载。我已经能够使用PDF的response()在controller中处理即时下载 也许标题是错的?我的代码: public function getFile($file) { $path = storage_path('app/excel/exports/' . $file); $headers = array('Content-Type' => File::mim
response()
在controller中处理即时下载
也许标题是错的?我的代码:
public function getFile($file) {
$path = storage_path('app/excel/exports/' . $file);
$headers = array('Content-Type' => File::mimeType($path));
return response()->download($path, $file, $headers);
}
因此excel文件被创建并正确保存在我的存储文件夹中(发生在上述代码之前)。然后我使用axios.get
方法下载带有上述函数的文件
我得到的标题是:
接受范围:字节
缓存控制:公共
连接:保持活力
内容处置:附件;filename=“test_file.xlsx”
内容长度:7066
内容类型:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
但无论我做什么或尝试更改下载都不会启动。您可以尝试使用这两个标题
return response()->download($path, $file, [
'Content-Type' => 'application/vnd.ms-excel',
'Content-Disposition' => "attachment; filename='Report.xls'"
]);
谢谢,我设法解决了
用一个简单的axios.get
请求路由似乎不可能解决这个问题。相反,我需要用链接直接打开路线
不适用于:
HTML
将表格下载为Excel文件
简单的解决方案(而不仅仅是使用axios.get
):
请检查我的答案。谢谢你的回答。我试过了,但是没有自动下载。即使我用一个blob响应并尝试用一个文件下载它,但会被下载,但已损坏。好的,让我检查一下,并让您知道相同的情况。如何使用授权标头进行下载
downloadExcel() {
axios.get('/customers/export');
}
<a :href="/customers/export"><button>Download Table as Excel File</button></a>
downloadExcel() {
let newWindow = window.open();
axios.get('/customers/export')
.then(response => {
newWindow.location = 'http://' + window.location.hostname + '/customers/export';
});
}