Vin*_*ash 0 java sockets file-io file-upload
在我的java应用程序中,我想将一些图像从客户端传输到服务器.我使用Socket连接客户端和服务器.当我将字符串从客户端传输到服务器但我无法传输图像文件时,它正在工作.
我在用
BufferedInputStream
BufferedOutputStream
用于传输字符串.
我知道要传输文件我需要使用FileInputStream:
BufferedInputStream bis bis = new BufferedInputStream(new FileInputStream("111.JPG"));
Run Code Online (Sandbox Code Playgroud)
但我不知道,究竟需要写什么.所以请通过一些代码示例给出答案.
您应该将图像转换为字节.您可以使用此功能.
static byte[] ImageToByte(System.Drawing.Image iImage)
{
MemoryStream mMemoryStream = new MemoryStream();
iImage.Save(mMemoryStream,
System.Drawing.Imaging.ImageFormat.Gif);
return mMemoryStream.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
您可以在服务器程序中调用此函数.
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);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7276 次 |
| 最近记录: |