SORU
4 EYLÜL 2009, Cuma


Nasıl Java kullanma isteği SONRASI çok parçalı/form-data yapabilir miyim?

Sürüm 3 gün içinde.Apache Commons x, istek mümkün (an example from 2004) YAZI çok parçalı/form-data yapma HttpClient. Ne yazık ki bu artık version 4.0 of HttpClient mümkündür.

Ana faaliyetimiz için"",, parçalı biraz HTTP kapsam dışı. Parçalı kodu tarafından yapılmaktadır kullanmak isteriz diğer kapsam içinde, ama hiç farkında değilim proje. Commons-Kodek birkaç yıl için parçalı kodu taşımaya çalıştık önce, ama orada almadım. Oleg son bir söz parçalı ayrıştırma kodu var ve ilgilenecek proje parçalı biçimlendirme kod. Şimdiki durumunu bilmiyorum bu konuda. (http://www.nabble.com/multipart-form-data-in-4.0-td14224819.html)

Herkes beni çok parçalı/form-data POST isteği yapabilir, bir HTTP istemci yazmak için izin veren bir Java kütüphanesi farkında mı?

Arka plan: Remote API of Zoho Writer kullanmak istiyorum.

CEVAP
4 EYLÜL 2009, Cuma


HttpClient 4.0 parçalı dosya yazı yapmak için kullanırız. Burada ilgili bir kod parçacığı

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);
HttpEntity resEntity = response.getEntity();

Bu HttpClient 4.0 Beta sürümü bir kaç yıl önce yapıldı ama bu işlevler kaldırıldı olacağını sanmıyorum.

(Michael-Ey 2014-05-08) Edit: Gibisürüm 4.3bazı dersler kaldırılmıştır. İşte yeni kod:

CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost uploadFile = new HttpPost("...");

MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addTextBody("field1", "yes", ContentType.TEXT_PLAIN);
builder.addBinaryBody("file", new File("..."), ContentType.APPLICATION_OCTET_STREAM, "file.ext");
HttpEntity multipart = builder.build();

uploadFile.setEntity(multipart);

CloseableHttpResponse response = httpClient.execute(uploadFile);
HttpEntity responseEntity = response.getEntity();

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ELawshea

    ELawshea

    26 Mayıs 2008
  • Matt Davis

    Matt Davis

    4 ŞUBAT 2006
  • Project Mooncircle

    Project Moon

    6 Aralık 2009