【问题标题】:Transfer Image (*.jpeg, *.png etc) file from client to server将图像(*.jpeg、*.png 等)文件从客户端传输到服务器
【发布时间】:2012-04-02 10:14:43
【问题描述】:

在我的 java 应用程序中,我想将一些图像从客户端传输到服务器。 我正在使用 Socket 将客户端与服务器连接。 当我将字符串从客户端传输到服务器时它正在工作,但我无法传输图像文件。

我正在使用

BufferedInputStream
BufferedOutputStream

用于传输字符串。

我知道要传输文件我需要使用 FileInputStream 作为:

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

但我不知道,我到底需要写什么。 所以请通过一些代码示例给出你的答案。

【问题讨论】:

  • 你说你已经让它适用于字符串但不适用于图像文件。它以什么方式不适用于图像文件?如果您更具体地了解您的问题,人们可以更具体地给出他们的答案。
  • “请通过一些代码示例给出你的答案。”请投入现金。

标签: java sockets file-upload file-io


【解决方案1】:

您应该将图像转换为字节。 你可以使用这个功能。

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);
}
}

【讨论】:

    【解决方案2】:

    网上已经有很多例子:
    here
    here
    等等

    下次请考虑使用谷歌。

    【讨论】:

    • 这不是他所要求的(他已经知道基本的 Java I/O)
    • @GavinCattell ya 我知道那里有很多网站,这就是为什么我很困惑,所以如果你知道一些提到所有这些东西的好网站,请在此处提供链接。
    • 我不想要基本的客户端/服务器套接字编程。我想将图像文件从客户端传输到服务器。
    • 你有你需要的两个部分。您从问题中获取已有的字节并通过连接提供它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多