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 に答える