2011-01-17 13 views
5

अपलोड करने के लिए Compojure, हिचकी और अंगूठी का उपयोग करते हुए मैं एक ग्राहक फार्म का है कि कुछ इस तरह दिखता जरूरत है एक सर्वर मैं Clojure में लिख रहा हूँ में एक फ़ाइल अपलोड करने के लिए:एक फ़ाइल

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

हालांकि मैं नहीं मिल सकता है हिकअप या कंपोज़र के लिए इस तरह का एक फॉर्म बनाने के लिए प्रलेखन। नमूना मैं इस तरह दिखता है:

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

तो मेरे सवाल है, जहां प्रलेखन यह कैसे एक रूप है कि एक फ़ाइल अपलोड होगा बनाने के लिए संशोधित किया जाना चाहिए मिल रहा है?

उत्तर

6

कंपोज़र के लिए फ़ाइल अपलोड समर्थन multipart-params रिंग मिडलवेयर में पाया जा सकता है। इसका इस्तेमाल करने के लिए के कुछ उदाहरण है:

हमेशा अंगूठी मिडलवेयर प्रलेखन पर एक नजर है, यह महान कोड से भरा हुआ है!

अद्यतन: पहली बार अपना प्रश्न नहीं पढ़ा!

<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"]] 

मैं इसे स्मृति से किया है, तो यह अपरीक्षित है।

+0

आप सर धन्यवाद, कि मदद की मुझे चल मिलता है। मुझे अभी भी यकीन नहीं है कि मैंने जिस उदाहरण के साथ शुरुआत की है, उसके पास input.math है (मुझे गणित नहीं मिल रहा है जहां गणित से आता है)। मुझे अंगूठी दस्तावेज खोजने में भी मुश्किल समय है, या क्या मुझे इसे ऑटोडोक के साथ बनाने की ज़रूरत है? – justinhj

+0

रिंग प्रलेखन वहां पाया जा सकता है: http://mmcgrana.github.com/ring/ –

+1

इसके अलावा .math भाग HTML तत्वों में कक्षा विशेषता जोड़ने के लिए एक शॉर्टकट है। हिचअप में, टैग कीवर्ड को सीएसएस चयनकर्ता तरीके से आईडी और क्लास एट्रिब्यूट के साथ बढ़ाया जा सकता है, उदाहरण के लिए: '[: span # my_id.class1.class2 ...] '' [: span {: id "my_id" के बराबर है: वर्ग "कक्षा 1 कक्षा 2"} ...] ' –

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

लापता }

[:input {:type "submit" :name "submit" :value "submit"]}] 
संबंधित मुद्दे