2012-04-02 17 views
0

In meiner Java-Anwendung möchte ich einige Bilder von Client zu Server übertragen. Ich verwende Socket, um den Client mit dem Server zu verbinden. Es funktioniert, wenn ich Zeichenfolge vom Client zum Server übertrage, aber ich bin nicht in der Lage, Bilddatei zu übertragen.Transfer Image (* .jpeg, * .png etc) Datei vom Client zum Server

Ich bin mit

BufferedInputStream
BufferedOutputStream

für Zeichenfolge zu übertragen.

Ich weiß, für die Dateiübertragung ich Fileinputstream als verwenden müssen:

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

Aber ich weiß nicht, was genau muss ich schreiben. also bitte geben Sie Ihre Antwort durch einige Beispielcode.

+0

Sie sagen, Sie haben es funktioniert für Strings, aber nicht für Bilddateien. Inwiefern funktioniert es nicht für Bilddateien? Wenn Sie genauer auf Ihr Problem eingehen, können die Menschen genauer auf ihre Antworten eingehen. –

+0

* "Bitte geben Sie Ihre Antwort mit einem Mustercode ab." * Bitte geben Sie Geld ein. –

Antwort

5

Sie sollten Bild in Byte konvertieren. Sie können diese Funktion verwenden.

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

Und Sie können diese Funktion in Ihrem Server-Programm aufrufen.

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

schlag mich dazu :) –

+0

@vikiiii danke ... Ich werde das versuchen ... –

1

Es gibt viele Beispiele im Internet bereits:
here
here
usw.

Bitte beachten Sie Google das nächste Mal verwenden.

+1

das ist nicht genau das, wonach er gefragt hat (er kennt bereits grundlegende Java I/O) –

+0

@GavinCattell ya ich weiß, viele der Website ist da, deshalb bin ich verwirrt, also bitte, wenn Sie eine gute Seite kennen, die alle diese Dinge dann erwähnen Gib den Link hier an. –

+0

Ich möchte keine grundlegende Client/Server-Socket-Programmierung. Ich möchte die Image-Datei vom Client zum Server übertragen. –

Verwandte Themen