2012-04-02 32 views
0

Javaアプリケーションでは、一部の画像をクライアントからサーバーに転送したいと考えています。 Socketを使用してクライアントとサーバーを接続しています。 文字列をクライアントからサーバーに転送するときに機能していますが、イメージファイルを転送できません。クライアントからサーバーへの画像(* .jpeg、* .pngなど)ファイルの転送

私は、文字列を転送するためなBufferedOutputStream

にBufferedInputStream
を使用しています。

BufferedInputStream bis bis = new BufferedInputStream(new FileInputStream("111.JPG")); 

しかし、私はまさに私が書くために必要なものを、知らない:

は、私はとしてのFileInputStreamを使用する必要があるファイルを転送するため知っています。 コードのサンプルで回答をお願いします。

+0

あなたはそれがイメージファイルではなく文字列で動作していると言います。どのようにして画像ファイルでは機能しませんか?あなたがあなたの問題についてより具体的であれば、人々は彼らの答えをより具体化することができます。 –

+0

*「コードのサンプルで回答してください」*現金を入れてください。 –

答えて

5

イメージをバイトに変換する必要があります。 この機能を使用できます。

static byte[] ImageToByte(System.Drawing.Image iImage) 
{ 
MemoryStream mMemoryStream = new MemoryStream(); 
iImage.Save(mMemoryStream, 
System.Drawing.Imaging.ImageFormat.Gif); 
return mMemoryStream.ToArray(); 
} 

あなたのサーバープログラムでこの関数を呼び出すことができます。

Bitmap tImage = new Bitmap(Image URL goes here); 
byte[] bStream = ImageToByte(tImage); 

while (true) 
{ 
TcpClient client = server.AcceptTcpClient(); 
Console.WriteLine("Connected"); 
while (client.Connected) 
{ 
NetworkStream nStream = client.GetStream(); 
nStream.Write(bStream, 0, 
bStream.Length); 
} 
} 
+0

私にそれを打つ:) –

+0

@vikiiii高校...私はこれを試してみる... –

1

は、すでにインターネット上の多くの例があります。
here
here
など

Googleの次回の使用を検討してください。

+1

これはまさに彼が尋ねたものではありません(彼はすでにJavaの基本入出力を知っています) –

+0

@GavinCattell ya私はたくさんのサイトがあることを知っています。だからこそ私は混乱しています。ここにリンクをつけてください。 –

+0

私は基本的なクライアント/サーバソケットプログラミングを望んでいません。私はクライアントからサーバーに画像ファイルを転送したい。 –

関連する問題