2012-02-08 2 views
6

У меня есть установка входной файл, как этотКак вы принимать загрузку файлов в нуар

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

конечной точки My загрузки будет выглядеть следующим образом.

(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+ не впадать в ошибку.

Вы можете увидеть нечто подобное (хотя для Amazon S3) здесь:

Надеется, что это помогает.

2

Я думаю, что вы принимаете штраф; Я считаю, что вы публикуете неправильно. Попробуйте form-to {:enctype "multipart/form-data"}, или из раковины curl --form [email protected]/home/me/Penguins.jpg http://localhost:8080/Upload

Смежные вопросы