我有像这样的文件输入设置
[:p "Upload a book"]
(form-to [:post "/upload"]
(file-upload :book)
(submit-button "Upload"))
我的上传端点看起来像这样。
(defpage [:post "/upload"] {:keys [book]} (println book))
本书似乎只是上传文件的标题字符串而不是文件本身。我如何获取文件?
答案 0 :(得分:4)
根据这个帖子(见Chris Granger的第二篇文章):
你可以使用类似的东西:
(defpage [:post "upload"] {:keys [myFile]}
(println myFile) ;; see all the things the file contains
(io/copy (io/file (:tempfile myFile)) (io/file "uploads/some-new-name")))
以下是此主题的要点:
带着一张便条(再次来自Chris)你需要Leiningen 1.6.1.1+才能遇到错误。
你可以在这里看到类似的东西(虽然对于Amazon S3):
希望这有帮助。
答案 1 :(得分:2)
我认为你接受罚款;我相信你发错了。试试form-to {:enctype "multipart/form-data"}
,或来自shell curl --form book=@/home/me/Penguins.jpg http://localhost:8080/Upload