【发布时间】:2017-09-05 07:10:32
【问题描述】:
我是 laravel 和 october cms 的新手。我想添加一个按钮以允许用户下载 PDF 文件“a.pdf”,而无需指向新页面。我知道我必须使用 AJAX 并发送下载 http 响应以使浏览器显示“另存为...”对话框。到目前为止,这是我已经完成的:
title = "Sandbox"
url = "/test"
layout = "default"
==
<?php
function onDownload()
{
$pathToFile = Url::to("/storage/app/media/a.pdf");
$fileName = "download.pdf";
$headers = [
'HTTP/1.1 200 OK',
'Pragma: public',
'Content-Type: application/pdf'
];
return Response::download($pathToFile, $fileName, $headers);
}
?>
==
<div class="container">
<form class="form-inline" data-request="onDownload">
<button type="submit" class="btn btn-primary" data-attach-loading>Download</button>
</form>
</div>
使用上面的代码我得到“文件“http://localhost/october/storage/app/media/a.pdf”不存在”错误。
我做错了什么?
【问题讨论】:
-
希望您已创建文件夹位置并将文件放入该路径
october/storage/app/media/a.pdfan? -
是的,我当然做到了!
-
你能分享文件位置的绝对路径吗?
-
我可以通过在浏览器中输入上述网址来下载文件。
标签: php ajax octobercms