Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel Excel下载不起作用_Php_Laravel_Download_Axios_Laravel Excel - Fatal编程技术网

Php Laravel Excel下载不起作用

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

问题与这里描述的相同

但我不能相信,如果不使用其他资源,没有任何方法可以在Laravel中处理Excel下载。我已经能够使用PDF的
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';
       });
}