我有一个 Web 服务器,用于将用户上传的文件保存到 resources
文件夹中的 native 文件系统。它在开发中运行良好,但在生产中,无法提供文件。
我已经尝试了 wrap-file
和 wrap-resource
,都不起作用。
最佳答案
wrap-file
和 wrap-resource
都不起作用,因为动态内容是在打包的 jar 之外提供的,但两个中间件都希望项目在 jar 中, as seen in the source.
相反,您实际上可以将文件对象的输入流直接传递给响应的 :body
! Ring 会妥善处理并正常服务,如 seen in the source here .
示例代码:
(defn image-handler
[request]
(as-> request r
(:path-params r)
(:filename r)
{:status 200
:body (io/input-stream (str <your-base-path-here> r))}))
关于clojure - 你如何在 clojure 环形服务器中提供动态创建的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62391926/