Java 从android上传照片

Java 从android上传照片,java,android,jersey,Java,Android,Jersey,我想把照片从android上传到服务器上。我用Jersey Api创建了web服务。但是我在发送照片时出现了415个错误 请帮我解决这个问题 我试了一整天 Android代码: FileBody bin = new FileBody(file, "image/jpg"); MultipartEntity mp = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); mp.addPart("file", bin); httpCli

我想把照片从android上传到服务器上。我用Jersey Api创建了web服务。但是我在发送照片时出现了415个错误

请帮我解决这个问题

我试了一整天

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;
}
Web服务代码:

@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";
}

当在请求中发送的实体(POST或PUT中的内容)具有不受支持的媒体类型时,服务器返回415

确保您发送的媒体类型与服务器要求的媒体类型相同


为什么会发生500错误??阅读…

该响应来自服务器端。确保发送的内容与服务器请求的内容相同。500是一个内部服务器代码,我得到了415个错误代码…我在server@Consumes(MediaType.MULTIPART\u FORM\u DATA)和android httppost.addHeader(“Content Type”,“MULTIPART/FORM DATA”)上设置了这个;所以两者都是一样的。我认为这是对的,但是服务器呢?服务器有接受这种格式的机制吗?你确定这件事吗?要500英镑,你能告诉我怎么修吗