我目前正在构建一个Clojure数据库支持的网站上的一个Luminus + h2框架。我在上工作文件上传目前,和卡住在实际上点检索文件。虽然我不能完全肯定这是接近情况的最佳办法,这里是我迄今所做:Clojure文件响应
我,让我上传文件的路径。是那些获得上传的文件复制到/资源/公/文件夹我的项目里面:
(io/copy actual-file (io/file "resources" "public" "Files" file-name))
此外,我保存每个文件的文件名时创建的数据库表内并使用SQL进行操纵。
然后我有一个新的路线,显示所有已上传为链接(通过访问数据库)的文件。在后端,链接将页面指向一个新的路由“/ file /:file-name”,其中调用了文件响应函数。我希望这些链接可以用作文件的“下载”。
于这个工作我第一次尝试,我的所有文件复制到我的C:/ AllFiles文件夹,这样做:
(defn serve-file [file-name]
(file-response (str (files-path) File/separator file-name)))
其中文件路径是:
(defn files-path [] "/AllFiles")
这实际上是为我工作。但是,我希望我使用的文件是来自我的特定项目目录中的文件,而不必输入整个路径(也就是说,使其可以在〜/ Project-Name/resources /公共/文件“)。
出于某种原因,我似乎无法获得文件的响应像这样的工作。
感谢您的帮助。
您能告诉我们更多的代码吗? – lispHK01
@ lispHK01等什么零件?如果可以的话,可以使用[MCVE](https://stackoverflow.com/help/mcve) – Logan
。你遇到了什么错误? (这个错误是否显示在浏览器中?)另外,当你说“没有我输入整个路径”时,你是什么意思? – lispHK01