【发布时间】:2020-10-22 23:36:22
【问题描述】:
我试图让用户将集合下载为 json 文件,但我不知道该怎么做,不存储文件。
选项 1:完全下载而不存储
我尝试过这样的事情
return response()->download(WorkPersonalReport::all(), 'zapis_prac.json');
这不起作用,因为它不是文件。我可以把它变成一个“伪文件”吗?
选项 2:创建文件,让下载发生,删除文件
public function jsonExport() {
$wprs = WorkPersonalReport::all();
file_put_contents('assets/workPersonalReport.json', $wprs);
return response()->download('assets/workPersonalReport.json', 'zapis_prac.json');
}
与
public function index() {
unlink('assets/workPersonalReport.json');
}
优化代码是否可能有任何一个选项?
首先——只是创建一个临时文件,下载完成后会被删除?
second - unlink() return 语句后的文件,而不是每次调用 index()?
【问题讨论】: