HttpClient httpclient1 = new DefaultHttpClient();
HttpParams p=new BasicHttpParams();
p.setParameter("vname",name);
p.setParameter("address", addr);
p.setParameter("age", age);
p.setParameter("contact", cnct);
p.setParameter("gender", gen);
p.setParameter("whomto", wtm);
p.setParameter("myFile", f);
HttpPost res1=new HttpPost(result);
res1.setHeader("Content-Type", "text/plain");
res1.setHeader("Content-Type","image/jpeg");
HttpResponse response1 = httpclient1.execute(res1);
HttpEntity entity1 = response1.getEntity();
i1 = entity1.getContent();
BufferedReader reader1 = new BufferedReader(new InputStreamReader(i1,"iso-8859-1"),8);
StringBuilder sb1 = new StringBuilder();
String line1 = null;
if((line1 = reader1.readLine()) != null) {
sb1.append(line1);
back=sb1.toString();
}
else{
Log.e("GET data","null");
}
i1.close();
Log.e("GET",""+back);
//Код сервера private BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
public void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {
res.setContentType("text/html");
Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req);
BlobKey blobKey = blobs.get("myFile");
final BlobInfo blobInfo = new BlobInfoFactory().loadBlobInfo(new BlobKey(blobKey.getKeyString()));
System.out.println(blobInfo.getContentType());
if(!blobInfo.getContentType().equalsIgnoreCase("image/jpeg")){
blobstoreService.delete(blobInfo.getBlobKey());
res.getWriter().println("Please Provide JPG image only");
}
Я отправляю один файл изображения с некоторыми другими данными на сервер. Я не получаю никаких ошибок или исключений. Но когда я печатаю "назад", в журнале отображается "Тип содержимого запроса не принимается по этому URL". "f" - это мой файл с изображениями. В чем проблема?
Вы устанавливаете заголовок Content-Type на два разных значения, ни один из которых не является "multipart/form-data", который, по моему мнению, является тем, что вам нужно при отправке файла.
Вот ответ, который должен помочь: qaru.site/questions/72981/...
Посмотрите на мой ответ на аналогичный вопрос, как ваш: link Это избавит вас от хлопот написания кода на стороне сервера и позволит вам отправлять данные на Android-приложение, например. изображения к нему.