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

  • ASUS North America

    ASUS North A

    12 AĞUSTOS 2008
  • Autodesk 3ds Max Learning Channel

    Autodesk 3ds

    23 HAZİRAN 2010
  • Engadget

    Engadget

    18 EYLÜL 2006