2010-12-03 7 views
0

アプレットでJ2Dを使用して作成されたBufferedImageがあります。 HTTP POST @http://localhost:3001/upload/fileを使用してこのBufferedImageをアップロードします。Java HTTP Postアプレットサーバ - 内部生成画像

EDIT:物事のサーバーサイドを処理するRORサーバーがあります。クライアントのJavaコードを探しています。

私が見つけることができるすべての例は、ファイルをアップロードすることです。

誰でもBufferedImageをアップロードする方法を知っていますか?

乾杯、

+0

googleでの最初の結果は、このリンクです。http://www.java-tips.org/java-ee-tips/java-servlet/how-to-return-an-i mage-in-a-servlet.html – newbie

+0

しかし、サーブレットコードです。私はアプレットで実行されるクライアントコードを探しています。良い点は、私は質問を修正した。 – slotishtype

+0

この質問への答えはいくつかの助けかもしれません:http://stackoverflow.com/questions/3577834/how-to-send-an-image-from-a-java-applet-to-javascript –

答えて

0

OK

slotishtypeは、だからここのApache CommonsのライブラリポストRORサーバへのHTTP経由で文字列を使用して、その後、BufferedImageを作成し、Base64文字列としてそれをエンコードし、コードです。

 BufferedImage bi = new BufferedImage(110, 110, BufferedImage.TYPE_INT_RGB); 
     Graphics2D g2 = bi.createGraphics(); 
     AffineTransform saveTX = new AffineTransform(); 
     saveTX.translate(translateX, translateY); 
     saveTX.scale(0.2, 0.2); 
     g2.setTransform(saveTX); 
     this.paint(g2); 

     ImageInputStream bigInputStream = ImageIO.createImageInputStream(bi); 

     ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
     ImageIO.write(bi, "BMP", baos); 
     byte[] bytes = baos.toByteArray(); 
     String dataImg = new Base64().encodeBase64String(bytes); 

     PostMethod post = new PostMethod("http://localhost:3001/upload/file"); 

     post.addParameter("upload[test]", dataImg); 

     HttpClient client = new HttpClient(); 
     int status = client.executeMethod(post); 

     g2.dispose(); 

RORサーバは、単にヘルプみんなのため

おかげで、

slotishtypeを、文字列を受け取り、それをデコードして、ハードドライブに保存します....

require "base64" 
class UploadController < ApplicationController 

#Token = nil 
skip_before_filter :verify_authenticity_token 

def index 
    render :file => 'app\views\upload\uploadfile.html.erb' 
end 
def file 

File.open('test.gif', 'wb') do|f| 
    f.write(Base64.decode64(params[:upload][:test])) 
end 

    render :text => "File has been uploaded successfully" 
end 

終了

関連する問題