这是我的控制器的一些代码:
generate.test_framework :mini_test
但是当我运行此控制器时,它调用了public function export()
{
$this->getTemplate();
$post=Post::find(1)->get();
return redirect()->back()->with($post);
}
public function getTemplate()
{
return Storage::download('public\template\note.docx');
}
函数,但是它不撤消文件,并且导出函数中的其他代码仍然继续
答案 0 :(得分:-1)
我将返回url,然后使用download.js在加载时下载文件或按任意按钮
这里是一个例子:
http://pagedemos.com/sxks39b72aqb/7
希望这会有所帮助
更新
如果您将代码更改为以下内容:
public function export() {
$url = $this->getTemplate();
$post=Post::find(1);
return redirect()->back()->with([$post, $url]);
}
public function getTemplate() {
return Storage::url('public\template\note.docx');
}
并在您的视图中添加以下内容:
<script src="https://cdnjs.cloudflare.com/ajax/libs/downloadjs/1.4.8/download.min.js"></script>
$(document).ready(function() {
$.ajax({
url: "{{ $url }}",
success: download.bind(true, "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "note.docx")
})
});
这将允许您返回帖子页面并触发下载