2011-12-28 26 views
1

私は、ユーザーが選択したアンドロイドの画像をサーブレットに送信する必要があります。私は既にselectedImagePath変数に選択した画像パスを持っています。今、私はそのイメージをいくつかの他の情報と共にサーバーに送る必要があります。私が行っていることである。androidからXML経由で画像を送信する

Bitmap image = BitmapFactory.decodeFile(selectedImagePath); 
int height = image.getHeight(); 
int width = image.getWidth(); 
int[] pixels = new int[width * height]; 
image.getPixels(pixels, 0, width, 0, 0, width, height); 

私の考えでは、コンマはXMLを通じて文字列を区切りとしてpixel配列のカラー値を送信することです。私はInteger.toHexStringが役に立つと思います。例:サーバ側で

<width>300</width> 
<height>400</height> 
<data>0xffffff,0xff00ff,0xffff00,...</data> 

、色の値をデコードし、BufferedImageを作成し、ImageIO.writeを使用してファイルシステムに保存します。

は今、私の質問は:それはこれを行うには正しい方法

  • ですか?
  • これを行うための他のより効率的な方法がありますか?
+2

を送信テキストベースの方法で簡単に転送するためのBase64形式のイメージ? – Raptor

答えて

3

はステップ-1あなたのビットマップ画像をバイト配列

ステップ-2に変換は、Base64に[]バイトをエンコードし、あなたがコードしないのはなぜ

おかげ

関連する問題