2013-06-17 3 views
2

Я хочу загрузить фотографию с android на сервер. Я сделал веб-сервис в Джерси Апи. Но при отправке фотографии я получаю 415 ошибок.Загрузить фото с android

Пожалуйста, помогите мне решить эту проблему.

Я попробовал полный день ..

Android Код:

FileBody bin = new FileBody(file, "image/jpg"); 
MultipartEntity mp = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); 
mp.addPart("file", bin); 

httpClient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost(url); 
httppost.addHeader("Content-Type", "multipart/form-data"); 
httppost.setEntity(mp); 
HttpResponse response = httpClient.execute(httppost); 

if (response.getStatusLine().getStatusCode() == 200) { 
    ByteArrayOutputStream outstream = new ByteArrayOutputStream(); 
    response.getEntity().writeTo(outstream); 
    return true; 
} 

код веб-службы:

@POST 
@Path("uploadphoto") 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
@Produces("text/plain") 
public String uploadNotices(@FormDataParam("file") InputStream picStream) { 
    try { 
     OutputStream out = new FileOutputStream(new File("d://1.png")); 
     int read = 0; 
     byte[] bytes = new byte[1024]; 

     out = new FileOutputStream(new File("d://1.png")); 
     while ((read = picStream.read(bytes)) != -1) { 
      out.write(bytes, 0, read); 
     } 
     out.flush(); 
     out.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return "yes"; 
} 
+0

logcat пожалуйста ... – AndroidLearner

+0

Этот ответ от Server Side. Убедитесь, что вы отправляете ту же самую вещь, которую запрашивает сервер. 500 является внутренним кодом сервера – AndroidLearner

+0

Я получаю код 415 ERROR ... –

ответ

2

415 возвращается на сервер, когда объект отправленного в запросе (содержание в POST или PUT) имеет неподдерживаемый медиатип.

Убедитесь, что вы отправляете тот же тип носителя, который запрашивает сервер.

Почему произошло 500 ошибок ?? Прочитайте this ...

+0

Я установил это на сервере @Consumes (MediaType.MULTIPART_FORM_DATA) и на android httppost.addHeader («Content-Type», «multipart/form-data») ; ТАК оба одинаковы. Я думаю, его право –

+0

, а как насчет сервера? Имеет ли сервер какой-либо механизм для принятия этого типа формата? Вы уверены в этом? – AndroidLearner

+0

попробуйте сохранить изображение в формате jpg. – AndroidLearner

Смежные вопросы