6

要将文件上传到我在 Clojure 中编写的服务器,我需要一个看起来像这样的客户端表单:

<form action="/file" method="post" enctype="multipart/form-data">
<input name="file" type="file" size="20" />
<input type="submit" name="submit" value="submit" />

但是我找不到 Hiccup 或 Compojure 的文档来创建这样的表单。我的样本如下所示:

[:h2 "Choose a file to upload"]
:form {:method "post" :action "/upload"}
[:input.math {:type "text" :name "a"}] [:span.math " + "]
[:input.math {:type "text" :name "b"}] [:br]

所以我的问题是文档在哪里可以找到如何修改它以制作一个可以上传文件的表单?

4

2 回答 2

7

Compojure 的文件上传支持可以在multipart-paramsRing 中间件中找到。以下是一些如何使用它的示例:

总是看一下 Ring 中间件文档,里面有很多很棒的代码!

更新:第一次没有正确阅读您的问题!要生成这样的表单:

<form action="/file" method="post" enctype="multipart/form-data">
  <input name="file" type="file" size="20" />
  <input type="submit" name="submit" value="submit" />
</form>

这应该够了吧:

[:form {:action "/file" :method "post" :enctype "multipart/form-data"}
 [:input {:name "file" :type "file" :size "20"}]
 [:input {:type "submit" :name "submit" :value "submit"]]

我是凭记忆完成的,所以未经测试。

于 2011-01-17T16:56:27.353 回答
1
[:input {:type "submit" :name "submit" :value "submit"]]

失踪}

[:input {:type "submit" :name "submit" :value "submit"]}]
于 2013-05-01T17:56:45.540 回答