Clojure 如何在liberator中从请求中提取表单数据?

Clojure 如何在liberator中从请求中提取表单数据?,clojure,clojurescript,form-data,liberator,Clojure,Clojurescript,Form Data,Liberator,我有以下客户端请求: (let [form-data (doto (js/FormData.) (.append "filename" file))] (ajax-request {:uri "/some/uri" :method :post :body form-data :format (raw-request-format)

我有以下客户端请求:

(let [form-data (doto
                       (js/FormData.)
                     (.append "filename" file))]
     (ajax-request
      {:uri "/some/uri"
       :method :post
       :body form-data
       :format (raw-request-format)
       :response-format (raw-response-format)})
     )
在服务器上(使用liberator):

在服务器上,我确实得到了表单数据的打印,如下所示:

"form-data " "------WebKitFormBoundaryI9CA2zKhFT0Stmx7\r\nContent-Disposition: form-data; name=\"new-name\"\r\n\r\n{:uploaded-file #object[File [object File]], :name \"somename\", :another \"1234\"}\r\n------WebKitFormBoundaryI9CA2zKhFT0Stmx7--\r\n"

但是下一个prn不会打印任何内容,我的目标是提取:上传的文件。我做错了什么?

这可能只是一个示例,但请注意,
:body
输入流
是“可消费的”。我们“不能”
slurp
2次,因为第一次调用将“标记”移动到流的末尾。是的,谢谢。在测试中,我也分别尝试了两个prn,得到了相同的结果。这看起来根本不像JSON体?我假设这是一个多部分表单body这可能只是一个示例,但是请注意,
:body
输入流
是“可消费的”。我们“不能”
slurp
2次,因为第一次调用将“标记”移动到流的末尾。是的,谢谢。在测试中,我也分别尝试了两个prn,得到了相同的结果。这看起来根本不像JSON体?我假设这是一个多部分的形体
"form-data " "------WebKitFormBoundaryI9CA2zKhFT0Stmx7\r\nContent-Disposition: form-data; name=\"new-name\"\r\n\r\n{:uploaded-file #object[File [object File]], :name \"somename\", :another \"1234\"}\r\n------WebKitFormBoundaryI9CA2zKhFT0Stmx7--\r\n"