Domanda

Per caricare un file su un server che sto scrivendo in Clojure Ho bisogno di un modulo client che sembra qualcosa di simile:

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

Tuttavia non riesco a trovare la documentazione per Hiccup o in Compojure per creare un modulo come questo. Il campione che ho assomiglia a questo:

[: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]

Quindi la mia domanda è dove si trova la documentazione di trovare come questo dovrebbe essere modificato per fare una forma che caricare un file?

È stato utile?

Soluzione

Il supporto per il caricamento di file Compojure può essere trovata nel multipart-params Anello middleware. Ecco alcuni esempi di come usarlo:

hanno sempre uno sguardo al anello documentazione middleware, è pieno di grande codice!

Aggiorna : Non ha letto la tua domanda giusta la prima volta! Per generare un modulo come questo:

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

Questo dovrebbe fare il trucco:

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

L'ho fatto a memoria, quindi è non testati.

Altri suggerimenti

[:input {:type "submit" :name "submit" :value "submit"]]

mancante }

[:input {:type "submit" :name "submit" :value "submit"]}]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top