Я пытаюсь отправить фотографию по http на мой сервер.Поэтому я конвертирую изображение в байты, а затем отправляю его в виде пары имя-значение.Вот мой код ниже для этого.Теперь моя проблема на стороне сервера, как я могу восстановить и сохранить изображение из строки полученных байтов
Я также использую сервлеты Java
Код на Android
ByteArrayOutputStream baos = new ByteArrayOutputStream();
pinnedV.getPhoto().compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] b = baos.toByteArray();
List<NameValuePair> params = new ArrayList<NameValuePair>(2);
params.add(new BasicNameValuePair("photo",new String(b)));
HttpClient httpclient = new DefaultHttpClient();
HttpPost request = new HttpPost(URL);
try {
request.setEntity(new UrlEncodedFormEntity(params));
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ResponseHandler<String> handler = new BasicResponseHandler();
try {
result = httpclient.execute(request, handler);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Код на сервере
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String fromClientphoto= request.getParameter("photo");
byte[] b = fromClientphoto.getBytes();
FileOutputStream fos = new FileOutputStream("D:\\img.png");
fos.write(b);
fos.close();
}
Этот код выше записывает файл, но не открывается как изображение.также это byte[] b = fromClientphoto.getBytes();
правильный способ конвертировать обратно в те же байты, что и на телефоне Android?есть идеи?