在我的java应用程序中,我想将一些图像从客户端传输到服务器。 我使用Socket连接客户端和服务器。 当我将字符串从客户端传输到服务器但我无法传输图像文件时,它正在工作。
我正在使用
的BufferedInputStream
的的BufferedOutputStream
用于转移字符串。
我知道要传输文件我需要使用FileInputStream:
BufferedInputStream bis bis = new BufferedInputStream(new FileInputStream("111.JPG"));
但我不知道,究竟需要写什么。 所以请通过一些代码示例给出答案。
答案 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);
}
}
答案 1 :(得分:1)