0
我需要将jpeg图像发送(上传)到Servlet,而不是将其保存在文件上,我想将其转换为BufferedImage并对其执行一些处理。将jpeg图像发送到Servlet并将其转换为BufferedImage
这是我的客户端代码:
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
HttpPost httppost = new HttpPost("http://localhost:9000/upload");
File file = new File("/tmp/lena.jpg");
MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new FileBody(file, "image/jpeg");
mpEntity.addPart("userfile", cbFile);
httppost.setEntity(mpEntity);
System.out.println("executing request " + httppost.getRequestLine());
HttpResponse response = httpclient.execute(httppost);
HttpEntity resEntity = response.getEntity();
System.out.println(response.getStatusLine());
if (resEntity != null) {
System.out.println(EntityUtils.toString(resEntity));
}
if (resEntity != null) {
resEntity.consumeContent();
}
httpclient.getConnectionManager().shutdown();
我怎么能接受一个Servlet和处理它的形象呢?
我想这对我的接收端的Servlet,但图像是空:
InputStream is = request.getInputStream();
BufferedImage bImageFromConvert = ImageIO.read(is);
最后,我不应该保存在磁盘上的任何东西的过程中。
的答案是正确的,但如果你想使用的Servlet 3.0的HttpServletRequest#的getParts()方法,那么你必须注解与@MultipartConfig你的servlet。 之后,事情奏效 – Hossein