Bazı form parametrelerini bir HTTP isteğiyle (bir dosyadır) sunucuya göndermem gerekir. Bu yüzdenApache Http İstemcisi 4 Form Gönderi Çok parçalı veri
HttpPost httpPost = new HttpPost(urlStr);
params = []
params.add(new BasicNameValuePair("username", "bond"));
params.add(new BasicNameValuePair("password", "vesper"));
params.add(new BasicNameValuePair("file", payload));
httpPost.setEntity(new UrlEncodedFormEntity(params));
httpPost.setHeader("Content-type", "multipart/form-data");
CloseableHttpResponse response = httpclient.execute(httpPost);
sunucu hata verir ... şöyle Apache HTTP Client kullanın yığın izlemesi ..
the request was rejected because no multipart boundary was found
at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:954)
at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:331)
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:351)
at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
at org.springframework.web.multipart.commons.CommonsMultipartResolver.parseRequest(CommonsMultipartResolver.java:156)
Ben nasılsa bir ile gelip gerek diğer yayınlardan anlama
içerikte bulunmayan bir dize olan sınır. Fakat bu sınırı yukarıdaki kodda nasıl oluşturabilirim? Başka bir parametre mi olmalı? Sadece bir kod örneği ihtiyacım olan şey.
Tamam, anlıyorum. Bunun için üzgünüm, ama cevabı kabul ettiğinizde bunun sizin için çalıştığını varsaydım. Cevabımı bulgularınızla güncelleyeceğim. – gustf
Tekrar Merhaba, yanıtı oluşturucuyu kullanan eşdeğer bir kodla güncelledim. Ayrıca orijinal koddaki farklılıkları da kontrol ettim: 1) Diğer parçalardan önce addPart ("dosya", yeni FileBody (yük)) "2)" charset ", kodunuzdaki kullanımdan kaldırılan kurucuda 'ASCII' olarak ayarlandı . Ve orijinalimde "ISO_8859_1" varsayılanı var. Bu normalde herhangi bir sorun olmamalıdır, bu yüzden benim fikrim, aynı zamanda garip olan ilk şey olmasıdır. Ama belki de bu 'MultipartHttpServletRequest' çalışmasının yolu, bilmiyorum. Bunu test etmek için ilgi ve zamanınız varsa, bu harika olurdu. – gustf