从自定义路由(不是FileMiddeleware的公用文件夹)返回二进制文件

问题描述 投票:1回答:1

我想通过我不想公开的路线返回文件。我的用户将需要使用带有唯一的一次性代码的URL。因此,我不想通过FileMiddleware使用公用文件夹。

这是二进制可执行文件,不是文本文件。我可以使用FileManager将该文件作为数据获取,但是Future<Data>似乎不是路由的有效返回类型。

搜索完StackOverflow之后,我发现的唯一答案是对类似问题的答复:How do I download a file and send a file using Vapor server side swift?

但是这并不能真正完成它。

swift vapor
1个回答
2
投票
router.get("customfile") { req -> Future<Response> in
    return try req.streamFile(at: "/path/to/file")
}
© www.soinside.com 2019 - 2024. All rights reserved.