我正在使用PhpSpreadSheet生成XLSX文件,并通过访问如下特定路径来成功下载了该文件:
$writer = new Xlsx($spreadsheet);
$writer->save('TTD-HMO-ARSUB.xlsx');
return response()->download('TTD-HMO-ARSUB.xlsx');
我看到TTD-HMO-ARSUB.xlsx文件存储在我的Laravel项目的公用文件夹中。
这里的问题是我需要通过POST请求从Angular应用发送一些数据,并将这些数据包括在Excel文件中,所以我不能只是访问该路由。因此,我决定尝试获取所创建文件的下载URL。我尝试使用这些url失败,只有404s:
http://eiba.com/public/index.php/TTD-HMO-ARSUB.xlsx
是否可以通过URL访问此文件?我需要将其存储在另一个位置吗?
答案 0 :(得分:0)
我以这种方式解决了它,尽管它可能不是最好的:
$writer = new Xlsx($spreadsheet);
$writer->save('excel/TTD-HMO-ARSUB.xlsx');
return response()->json([
'url' => 'excel/TTD-HMO-ARSUB.xlsx'
]);
事实证明,您不能引用直接位于公共目录下的文件,但是可以使用子目录,例如: public / excel ,并且这样的URL可以使用:>