Java 从android上传照片
我想把照片从android上传到服务器上。我用Jersey Api创建了web服务。但是我在发送照片时出现了415个错误 请帮我解决这个问题 我试了一整天 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
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英镑,你能告诉我怎么修吗