【发布时间】:2012-09-15 08:40:57
【问题描述】:
我有一个 Java 客户端/服务器桌面应用程序,其中客户端和服务器之间的通信基于套接字,客户端和服务器之间交换的消息是序列化对象(消息对象,封装请求和响应)。
现在我需要让客户端能够将文件从本地计算机上传到服务器,但我无法通过缓冲区发送文件,因为缓冲区已经用于交换消息对象。
我应该打开另一个流来发送文件,还是有什么更好的方法可以根据我的情况上传文件?
【问题讨论】:
我有一个 Java 客户端/服务器桌面应用程序,其中客户端和服务器之间的通信基于套接字,客户端和服务器之间交换的消息是序列化对象(消息对象,封装请求和响应)。
现在我需要让客户端能够将文件从本地计算机上传到服务器,但我无法通过缓冲区发送文件,因为缓冲区已经用于交换消息对象。
我应该打开另一个流来发送文件,还是有什么更好的方法可以根据我的情况上传文件?
【问题讨论】:
I need to make the client able to upload a file from the local computer to the server
-打开Solely Dedicated Connection到服务器进行文件上传。
- 使用File Transfer Protocol 来简化您的工作,而且使用Apache's common lib 进行文件上传和下载 非常简单可靠。...
查看此链接:
【讨论】:
你真的只有两个选择:
对我来说,前者似乎更简单、更干净,需要更少的开销和更简单的代码。
【讨论】:
您可以保留您的解决方案并将文件内容作为对象传递,例如作为字符串 - 如果内容包含麻烦的字符,请使用 Base64 编码(或类似)
【讨论】: