Question

Pour télécharger un fichier sur un serveur j'écris dans Clojure je besoin d'une forme de client qui ressemble à quelque chose comme ceci:

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

Mais je ne peux pas trouver la documentation hoquet ou Compojure pour créer une forme comme celui-ci. L'exemple que j'ai ressemble à ceci:

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

Alors, ma question est où est la documentation de trouver comment cela doit être modifié pour une forme qui va télécharger un fichier?

Était-ce utile?

La solution

Le support de téléchargement de fichier pour Compojure se trouve dans le middleware multipart-params Ring. Voici quelques exemples de la façon de l'utiliser:

Toujours jeter un oeil à la documentation middleware Ring, il est plein d'un grand code!

Mise à jour : N'a pas lu votre question dès la première fois! Pour générer une forme comme celui-ci:

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

Cela devrait faire l'affaire:

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

Je l'ai fait de la mémoire, il est donc non testé.

Autres conseils

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

} manquant

[:input {:type "submit" :name "submit" :value "submit"]}]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top