فيما يلي تفصيل للعملية: يتضمن الترميز تقسيم جسم الطلب إلى أجزاء متعددة ، كل منها مسبق بسلسلة حدودية. استيراد java.io.outputStream ؛ استيراد java.io.printwriter ؛ استيراد java.net.urlconnection ؛ استيراد java.nio.charset.standardCharsets ؛ استيراد java.nio.file.files ؛ استيراد java.nio.file.paths ؛ الفئة العامة fileUpload { الفراغ الثابت العام (سلسلة [] args) يلقي الاستثناء { url url = "http://example.com/upload" ؛ سلسلة param = "value" ؛ ملف textFile = ملف جديد ("/path/to/file.txt") ؛ ملف BinaryFile = ملف جديد ("/path/to/file.bin") ؛ حدود السلسلة = long.toHexString (System.CurrentTimeMillis ()) ؛ urlConnection Connection = url new (url) .OpenConnection () ؛ connection.setDooutput (true) ؛ connection.setRequestProperty ("نوع المحتوى" ، "multipart/form-data ؛ boundary =" الحدود) ؛ حاول (OutputStream Output = connection.getOutputStream () ؛ PrintWriter Writer = New PrintWriter (New OutputStreamWriter (الإخراج ، standardcharsets.utf_8) ، صحيح)) { // إرسال المعلمة الكاتب. append ("-" الحدود). الكاتب. constr.append ("type-type: text/plain ؛ charset =" standardcharsets.utf_8) .Append ("\ r \ n") ؛ constr.append ("\ r \ n"). إلحاق (param) .append ("\ r \ n"). flush () ؛ // إرسال ملف نصي الكاتب. append ("-" الحدود). الكاتب. constr.append ("type-type: text/plain ؛ charset =" standardcharsets.utf_8) .Append ("\ r \ n") ؛ الكاتب. append ("\ r \ n"). flush () ؛ files.copy (textfile.topath () ، الإخراج) ؛ output.flush () ؛ الكاتب. append ("\ r \ n"). flush () ؛ // إرسال ملف ثنائي الكاتب. append ("-" الحدود). الكاتب. Constr.Append ("نوع المحتوى:" urlconnection.gaessContentTypeFromName (binaryfile.getName ())). إلحاق ("\ r \ n") ؛ كاتب. الكاتب. append ("\ r \ n"). flush () ؛ files.copy (binaryfile.topath () ، الإخراج) ؛ output.flush () ؛ الكاتب. append ("\ r \ n"). flush () ؛ // نهاية multipart/form-data الكاتب. } int resprosecode = ((httpurlConnection) اتصال) .getResPonsecode () ؛ System.out.println ("رمز الاستجابة:" ResponseCode) ؛ } }
ملاحظات إضافية
معلومات ، راجع الوثائق على java.net.urlconnection و multipart/form-data (RFC2388).
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3