2012-02-08 21 views
6

我有一個文件輸入設置這樣你怎麼接受的文件上傳比諾

[:p "Upload a book"] 
     (form-to [:post "/upload"] 
       (file-upload :book) 
       (submit-button "Upload")) 

我上傳的終點則是這樣的。

(defpage [:post "/upload"] {:keys [book]} (println book)) 

本書似乎是上傳的文件的標題的字符串,而不是文件本身。我如何獲取文件?

回答

4

根據這一線索(見克里斯·格蘭傑第二個職位):

您可以使用類似:

(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"))) 

下面是該線程要點:

帶一個註釋(來自克里斯),你需要Leiningen 1.6.1.1+不會遇到錯誤。

你可以看到類似的事情(儘管亞馬遜S3)在這裏:

希望這有助於。

2

我認爲你接受罰款;我相信你發佈錯誤。嘗試form-to {:enctype "multipart/form-data"},或從殼curl --form [email protected]/home/me/Penguins.jpg http://localhost:8080/Upload

相關問題