2017-02-28 11 views
0

jpegイメージをサーブレットに送信(アップロード)する必要があります。これをファイルに保存するのではなく、BufferedImageに変換して処理します。jpegイメージをサーブレットに送信して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(); 

は、どのように私はサーブレットに画像を受け取り、それを処理することができますか?

私は、受信側のサーブレットでこれを試してみましたが、イメージがnullの場合:

InputStream is = request.getInputStream(); 
BufferedImage bImageFromConvert = ImageIO.read(is); 

最後に、私はプロセスでディスクには何も保存しないはずです。

答えて

1

試してみてください。

Part file = request.getPart("userfile"); 
InputStream is = file.getInputStream(); 
+0

答えは、サーブレット3.0のHttpServletRequest#getParts()メソッドを使用したい場合はしかし、その後、あなたが@MultipartConfigでサーブレットに注釈を付ける必要があり、正確です。 その後は、 – Hossein

関連する問題