] यहाँ प्रक्रिया का एक टूटना है:
मल्टीपार्ट/फॉर्म-डाटा एन्कोडिंग
मल्टीपार्ट/फॉर्म-डेटा को पोस्ट अनुरोधों के लिए डिज़ाइन किया गया है जो बाइनरी (जैसे, फ़ाइलों) और चरित्र डेटा (जैसे, पैरामीटर) दोनों को संयोजित करते हैं। एन्कोडिंग में अनुरोध निकाय को कई भागों में विभाजित करना शामिल है, प्रत्येक एक सीमा स्ट्रिंग के साथ पूर्वनिर्मित है। आयात java.io.outputStream; आयात java.io.printwriter; आयात java.net.urlconnection; आयात java.nio.charset.standardcharsets; आयात java.nio.file.files; आयात java.nio.file.paths; पब्लिक क्लास फाइलअप लोड { सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) अपवाद {फेंकता है { स्ट्रिंग url = "http://example.com/upload"; स्ट्रिंग परम = "मान"; फ़ाइल TextFile = नई फ़ाइल ("/path/to/file.txt"); फ़ाइल बाइनरीफाइल = नई फ़ाइल ("/path/to/file.bin"); स्ट्रिंग सीमा = long.tohexstring (System.CurrentTimeMillis ()); UrlConnection कनेक्शन = नया URL (URL) .openconnection (); Connection.setDooutput (TRUE); Connection.SetRequestProperty ("सामग्री-प्रकार", "मल्टीपार्ट/फॉर्म-डेटा; सीमा =" सीमा); TRY (OutputStream आउटपुट = Connect.GetOutputStream (); PrintWriter लेखक = नया PrintWriter (नया OutputStreamWriter (आउटपुट, StandardCharsets.utf_8), true)) { // भेजें पैरामीटर writer.Append ("-" सीमा) .Append ("\ r \ n"); लेखक। लेखक। writer.append ("\ r \ n")। परिशिष्ट (परम) .Append ("\ r \ n")। फ्लश () // पाठ फ़ाइल भेजें writer.Append ("-" सीमा) .Append ("\ r \ n"); लेखक। लेखक। writer.append ("\ r \ n")। फ्लश (); Files.copy (textfile.topath (), आउटपुट); output.flush (); writer.append ("\ r \ n")। फ्लश (); // बाइनरी फ़ाइल भेजें writer.Append ("-" सीमा) .Append ("\ r \ n"); writer.Append ("सामग्री-डिस्कोज़िशन: फॉर्म-डेटा; नाम = \" बाइनरीफाइल \ "; फ़ाइल नाम = \" writer.append ("सामग्री-प्रकार:" urlconnection.guesscontenttypefromname (binaryfile.getName ()))। परिशिष्ट ("\ r \ n"); writer.Append ("कंटेंट-ट्रांसफर-एन्कोडिंग: बाइनरी")। writer.append ("\ r \ n")। फ्लश (); Files.copy (binaryfile.topath (), आउटपुट); output.flush (); writer.append ("\ r \ n")। फ्लश (); // मल्टीपार्ट/फॉर्म-डेटा का अंत writer.append ("-" सीमा "-")। परिशिष्ट ("\ r \ n")। फ्लश (); } int ressioneCode = ((httpurlconnection) कनेक्शन) .getResponseCode (); System.out.println ("रिस्पांस कोड:" रिस्पॉन्सकोड); } … java.net.urlconnection और multivart/फॉर्म-डेटा (RFC2388) पर प्रलेखन।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3