Rumah > Java > javaTutorial > Bagaimanakah saya Boleh Menghantar Permintaan POST Berbilang Bahagian/Borang-Data di Java?

Bagaimanakah saya Boleh Menghantar Permintaan POST Berbilang Bahagian/Borang-Data di Java?

Linda Hamilton
Lepaskan: 2024-12-09 11:41:14
asal
593 orang telah melayarinya

How Can I Send Multipart/Form-Data POST Requests in Java?

Permintaan POST Berbilang Bahagian/Data dalam Java dengan Apache Commons HttpClient

Sebelum versi 4.0 HttpClient, adalah mungkin untuk menghantar berbilang bahagian /form-data permintaan POST. Walau bagaimanapun, keupayaan ini telah dialih keluar dalam versi 4.0. Pembangun HttpClient menganggap pengendalian berbilang bahagian di luar skop untuk projek mereka.

Perpustakaan Java Alternatif untuk Permintaan POST Berbilang Bahagian/Data:

Walaupun tiada berbilang bahagian sokongan dalam HttpClient 4.0, beberapa perpustakaan Java menyediakan ini fungsi:

  • Muat Naik Fail Apache Commons: Pustaka penghuraian dan pemformatan berbilang bahagian khusus daripada Apache.
  • Klien Jersey: Pelanggan API REST rangka kerja yang merangkumi sokongan berbilang bahagian melalui Borangnya kelas.
  • OkHttp: Pelanggan HTTP yang moden dan cekap dengan sokongan permintaan berbilang bahagian terbina dalam.
  • UniRest: Pustaka permintaan HTTP yang ringan dengan keupayaan berbilang bahagian.

Contoh Pelaksanaan dengan HttpClient 4.3:

CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost uploadFile = new HttpPost("...");
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addTextBody("field1", "yes", ContentType.TEXT_PLAIN);

// Attaching 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);
Salin selepas log masuk

Contoh Pelaksanaan dengan Legasi HttpClient 4.0 (Ditamatkan):

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);

FileBody bin = new FileBody(new File(fileName));
StringBody comment = new StringBody("Filename: " + fileName);

MultipartEntity reqEntity = new MultipartEntity();
reqEntity.addPart("bin", bin);
reqEntity.addPart("comment", comment);
httppost.setEntity(reqEntity);

HttpResponse response = httpclient.execute(httppost);
Salin selepas log masuk

Kesimpulan:

Walaupun HttpClient 4.0 tidak menyokong permintaan POST berbilang bahagian/data bentuk secara lalai, perpustakaan Java alternatif dan coretan kod boleh membantu pembangun mencapai fungsi ini. Dengan memanfaatkan sumber ini, pengguna boleh melaksanakan klien HTTP dengan berkesan yang mengendalikan permintaan berbilang bahagian dan menyepadukan dengan lancar dengan perkhidmatan web seperti API Jauh Zoho Writer.

Atas ialah kandungan terperinci Bagaimanakah saya Boleh Menghantar Permintaan POST Berbilang Bahagian/Borang-Data di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan