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
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();
Eclipse'de yeni bir proje Maven Java 1...
Ruby: parçalı olarak HTTP üzerinden bi...
Nasıl Dize değeri bir Java numaralama ...
Nasıl bir form-data” Voleybolu ile POS...
Nasıl kendi türünü belirtmeden Java be...