जावा के साथ एक मल्टी-पार्ट फॉर्म डेटा पोस्ट अनुरोध बनाना
अपाचे कॉमन्स HttpClient संस्करण 4.0 के आगमन ने मल्टीपार्ट/फॉर्म-डेटा POST अनुरोधों को निष्पादित करने की क्षमता को समाप्त कर दिया संस्करण 3.x में संभव थे। HttpClient टीम ने बताया कि मल्टीपार्ट कार्यक्षमता उनकी मुख्य गतिविधियों के दायरे से बाहर है और वैकल्पिक पुस्तकालयों की तलाश करने की सिफारिश की गई है।
एक उपयुक्त जावा लाइब्रेरी ढूंढना
सवाल उठता है कि जावा लाइब्रेरीज़ मल्टीपार्ट/फॉर्म-डेटा POST अनुरोध क्षमताएं प्रदान करती हैं। ऐसी ही एक लाइब्रेरी HttpClient 4.x है, जो इन अनुरोधों को करने के लिए एक व्यापक समाधान प्रदान करती है। अद्यतन कर दिया गया है और कुछ कक्षाएं हटा दी गई हैं। निम्नलिखित कोड स्निपेट मल्टीपार्ट फ़ाइल पोस्ट बनाने के लिए संशोधित विधि को दर्शाता है:
CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost uploadFile = new HttpPost(''...'); मल्टीपार्टएंटिटीबिल्डर बिल्डर = मल्टीपार्टएंटिटीबिल्डर.क्रिएट(); बिल्डर.एडटेक्स्टबॉडी('फ़ील्ड1', 'हाँ', कंटेंटटाइप.TEXT_PLAIN); // यह फ़ाइल को POST से जोड़ता है: फ़ाइल f = नई फ़ाइल('[/पथ/से/अपलोड]'); बिल्डर.एडबाइनरीबॉडी( "फ़ाइल", नई फ़ाइल इनपुटस्ट्रीम (एफ), सामग्री प्रकार.APPLICATION_OCTET_STREAM, f.getName() ); HttpEntity मल्टीपार्ट = बिल्डर.बिल्ड(); uploadFile.setEntity(मल्टीपार्ट); बंद करने योग्यHttpResponse प्रतिक्रिया = httpClient.execute(uploadFile); HttpEntity प्रतिक्रियाएंटिटी = प्रतिक्रिया.getEntity();
अस्वीकृत HttpClient 4.0 कोड (संदर्भ के लिए)CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost uploadFile = new HttpPost("..."); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addTextBody("field1", "yes", ContentType.TEXT_PLAIN); // This attaches the file to the POST: File f = new File("[/path/to/upload]"); builder.addBinaryBody( "file", new FileInputStream(f), ContentType.APPLICATION_OCTET_STREAM, f.getName() ); HttpEntity multipart = builder.build(); uploadFile.setEntity(multipart); CloseableHttpResponse response = httpClient.execute(uploadFile); HttpEntity responseEntity = response.getEntity();
इन पुस्तकालयों के साथ, डेवलपर्स मल्टीपार्ट/फॉर्म-डेटा POST अनुरोध करने में सक्षम HTTP क्लाइंट बना सकते हैं, जिससे वे उन वेब सेवाओं और एपीआई के साथ बातचीत करने में सक्षम हो सकते हैं जिनके लिए इस प्रकार की आवश्यकता होती है अनुरोध प्रारूप.
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3