SLIM API - 提供文件下载
SLIM API - Offer Files to Download
我正在为我的项目使用 Slim API。我想提供文件下载(主要是 PDF 文件)。我发现了几种发送 public link 到文件的方法,这是我不想要的。我还找到了 Slim 2.4 版本的中间件,但我使用的是 3.x。
我只想访问路线,例如/downloads/version/2183
并且应该开始使用这个特定文件 ID 的下载。我在可用变量中有服务器上文件的路径。
背后的基本思想是不同的限制,哪些用户可以下载文件 - 但我自己可以做到 - 我遇到的问题是,如何通过路由将下载带到客户端浏览器
有人知道如何实现吗?
干杯,
尼克拉斯
这个其实很简单
- 为响应中的文件设置正确的 Headers Object
- 将文件内容读入Response的bodyObject
$app->get('/my/file', function ($req, $res, $args) {
return $res->withHeader('Content-Type', 'application/octet-stream')
->withHeader('Content-Disposition', 'attachment')
->write(file_get_contents("file.txt"));
});
我正在为我的项目使用 Slim API。我想提供文件下载(主要是 PDF 文件)。我发现了几种发送 public link 到文件的方法,这是我不想要的。我还找到了 Slim 2.4 版本的中间件,但我使用的是 3.x。
我只想访问路线,例如/downloads/version/2183 并且应该开始使用这个特定文件 ID 的下载。我在可用变量中有服务器上文件的路径。
背后的基本思想是不同的限制,哪些用户可以下载文件 - 但我自己可以做到 - 我遇到的问题是,如何通过路由将下载带到客户端浏览器
有人知道如何实现吗?
干杯, 尼克拉斯
这个其实很简单
- 为响应中的文件设置正确的 Headers Object
- 将文件内容读入Response的bodyObject
$app->get('/my/file', function ($req, $res, $args) {
return $res->withHeader('Content-Type', 'application/octet-stream')
->withHeader('Content-Disposition', 'attachment')
->write(file_get_contents("file.txt"));
});