2012-04-02 59 views
0

在我的Java应用程序中,我想将一些图像从客户端传输到服务器。 我使用Socket将客户端连接到服务器。 它是工作时,我从客户端传输字符串到服务器,但我无法传输图像文件。从客户端到服务器传输图像(* .jpeg,* .png等)文件

我使用

的BufferedInputStream
的BufferedOutputStream

转移字符串。

我知道传送文件,我需要使用的FileInputStream为:

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

但我不知道,究竟是什么我需要写。 所以请给出你的答案的代码示例。

+0

你说你已经为Strings工作,但不是为图像文件。它以什么方式不适用于图像文件?如果你对问题更具体,人们可以对他们的答案更具体。 – 2012-04-02 10:19:19

+0

*“请给出您的答案的一些代码示例。”*请插入现金。 – 2012-04-02 10:33:27

回答

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

打我吧:) – 2012-04-02 10:20:07

+0

@vikiiii thanx ...我会试试这个... – 2012-04-02 10:31:26

1

目前已经在互联网上的许多例子:
here
here

请考虑使用谷歌下一次。

+1

这不完全是他要求的(他已经知道基本的Java I/O) – 2012-04-02 10:19:22

+0

@GavinCattell你知道很多网站在那里,这就是为什么我很困惑,所以请如果你知道一些好的网站提及所有这些东西,然后在这里给出链接。 – 2012-04-02 10:23:19

+0

我不想要基本的客户端/服务器套接字编程。我想将图像文件从客户端传输到服务器。 – 2012-04-02 10:25:39

相关问题