Permintaan POST multipart/form-data dalam Java
Di Java, membuat permintaan POST multipart/form-data boleh dilakukan menggunakan Apache Commons. HttpClient versi 3.x. Walau bagaimanapun, keupayaan ini telah dihentikan dalam versi 4.0.
Pembangun HttpClient mewajarkan pengalihan keluar ini dengan menyatakan bahawa pengendalian berbilang bahagian adalah di luar skop kefungsian HTTP teras perpustakaan. Mereka mencadangkan mencari kod berbilang bahagian yang diselenggara oleh projek lain tetapi mengakui tidak mengetahui sebarang projek sedemikian.
Penyelesaian menggunakan HttpClient 4.x
Walaupun sokongan berbilang bahagian yang berdedikasi dialih keluar , terdapat penyelesaian untuk membuat permintaan berbilang bahagian menggunakan HttpClient 4.x. Berikut ialah contoh:
CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost uploadFile = new HttpPost("..."); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addTextBody("field1", "yes", ContentType.TEXT_PLAIN); // Attach 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();
Perhatikan bahawa pada HttpClient 4.3, beberapa kelas telah ditamatkan. Rujuk dokumentasi rasmi untuk penggunaan API yang dikemas kini.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Permintaan POST Berbilang Bahagian/Data dalam Java Selepas Pembuangan Sokongan Berbilang Bahagian Apache HttpClient 3.x?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!