你如何接受黑色文件上传

Ste*_*sen 6 clojure noir

我有这样的文件输入设置

[:p "Upload a book"]
      (form-to [:post "/upload"]
               (file-upload :book)
               (submit-button "Upload"))
Run Code Online (Sandbox Code Playgroud)

我的上传端点看起来像这样.

(defpage [:post "/upload"] {:keys [book]} (println book))
Run Code Online (Sandbox Code Playgroud)

本书似乎只是上传文件的标题字符串而不是文件本身.我如何获得该文件?

icy*_*com 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"))) 
Run Code Online (Sandbox Code Playgroud)

这是该线程的要点:

附注(同样来自 Chris),您需要 Leiningen 1.6.1.1+ 才不会遇到错误。

您可以在此处看到类似的内容(尽管对于 Amazon S3):

希望这可以帮助。