मैं अपनी वेबसाइट पर एक क्लोजर एपीआई बना रहा हूं जो मूल रूप से मूल वेब एपीआई के आसपास एक रैपर है। उन सुविधाओं में से एक जो मैं लागू करने में सक्षम नहीं हूं, POST अनुरोधों के माध्यम से फ़ाइल भेज रहा है, मूल रूप से मैं curl -F foo=bar [email protected] foobar.com
के साथ खोल में क्या करूंगा।मैं एक POST अनुरोध में एक फ़ाइल कैसे भेज सकता हूं?
मैं clojure-http-client का उपयोग कर रहा हूं, और शुरुआत में (resourcefully/post "foobar.com" {} {:foo "bar" :baz (File. "bak.jpg")})
फॉर्म का प्रयास किया, लेकिन: बाज़ फ़ील्ड को प्राप्त करने वाली स्क्रिप्ट द्वारा अनदेखा किया गया था, जैसे कि मैंने केवल भेजा था: foo। बाद में, मैंने FileInputStream
को File.
बदलते कोशिश की है, के रूप में [लाइन 51] [2] client.clj के इस विशेष वर्ग के लिए जाँच किया जा रहा है, लेकिन अभी भी एक ही परिणाम मिला है।
तो मैं एक php पृष्ठ कि बस $ _POST प्रिंट मेरे अनुरोध की जाँच करने के लिए बनाया है, और जाहिरा तौर पर वस्तुओं के डेटा सचमुच भेजा जा रहा है।
Clojure => (साधन-/ पोस्ट "http://ptchan.org/pttest.php" {} {: foo "बार": baz "/tmp/bak.jpg"}) {: शरीर-सेक ("सरणी" एक नजर डालें "(" "[foo] => बार" "[baz] => /tmp/bak.jpg" ")"), कोड 200,: msg "ठीक", विधि "पोस्ट", हेडर {: तिथि ("शुक्र, 02 अक्टूबर 200 9 11:41:15 जीएमटी"),: भिन्न ("स्वीकृति-एन्कोडिंग"), सामग्री-लंबाई ("53"),: कनेक्शन ("बंद करें"): सामग्री-प्रकार (" पाठ/एचटीएमएल "),: सर्वर (" अपाचे/2.2.9 (डेबियन) PHP/5.2.6-1 + लेनी 3 सुहोसिन-पैच के साथ "): x-powered-by (" PHP/5.2.6-1 + lenny3 ")},: प्राप्त हेडर #,: कुकीज़ शून्य,: यूआरएल" http://ptchan.org/pttest.php "}
Clojure => (साधन-/ पोस्ट" http://ptchan.org/pttest.php "{} {: foo" बार ":। baz (फ़ाइल"/tmp/bak.jpg ")}) {: शरीर-सेक ("सरणी" "(" "[foo] => बार" "[baz] => /tmp/bak.jpg" ")"),: कोड 200,: msg "ठीक है",: विधि "पोस्ट", हेडर {: दिनांक ("शुक्र, 02 अक्टूबर 200 9 11:41:30 जीएमटी"),: भिन्न ("स्वीकृति-एन्कोडिंग"), सामग्री-लंबाई ("53"),: कनेक्शन (" बंद करें "), सामग्री-प्रकार (" टेक्स्ट/एचटीएमएल "),: सर्वर (" अपाचे/2.2.9 (डेबियन) PHP/5.2.6-1 + लेनी 3 सुहोसिन-पैच के साथ "): x-powered-by ("PHP/5.2.6-1 + lenny3")},: हेडर-हेडर #,: कुकीज़ शून्य,: यूआरएल "http://ptchan.org/pttest.php"}
क्लोजर => (संसाधन/पोस्ट करें "http://ptchan.org/pttest.php" {} {: foo "बार": बाज़ (FileInputStream। "/tmp/bak.jpg")}) {: शरीर-सेक ("सरणी" "(" "[foo] => बार" "[baz] => [email protected]" ")") ,: कोड 200,: msg "ठीक",: विधि "पोस्ट", हेडर {: दिनांक ("शुक्र, 02 अक्टूबर 200 9 11:41:47 जीएमटी"),: भिन्न ("स्वीकृति-एन्कोडिंग"), सामग्री -लम्बाई ("73"),: कनेक्शन ("बंद करें"), सामग्री-प्रकार ("पाठ/एचटीएमएल"),: सर्वर ("अपाचे/2.2.9 (डेबियन) PHP/5.2.6-1 + lenny3 के साथ Suhosin-पैच "),: एक्स संचालित-दर (" PHP/5.2.6-1 + lenny3 ")},: प्राप्त हेडर #,: कुकीज़ शून्य,: यूआरएल" http://ptchan.org/pttest.php "}
मैं वास्तव में यह सुनिश्चित नहीं है कि कैसे आगे बढ़ना है। कोई उपाय? डीबगिंग पर सामान्य सुझाव भी स्वागत है!
धन्यवाद
+1। ^^ – KB22