4

是否可以通过 Web 服务将文件从客户端计算机上传到服务器?客户端可以运行任何东西,从本地桌面应用程序到瘦 ajax 客户端。

4

2 回答 2

1

当然可以通过 Web 服务(例如 SOAP)发送二进制文件,但是您通常必须进行某种编码,例如 base64,这会增加要发送的数据量。发送任意二进制文件的最有效方法之一是通过 HTTP PUT 操作,因为没有编码开销。并非所有客户都一定有简单的方法来做到这一点,但值得一看。

硬币的另一面是如何从用户的磁盘上获取数据并连接到网络连接上。“瘦 ajax 客户端”可能没有从用户磁盘读取文件的必要权限。另一方面,桌面应用程序实现将能够毫无问题地做到这一点。

于 2008-08-18T11:42:22.500 回答
0

我不是“webservice”的大师,但是如果你开发 webservice(和客户端),你总是可以在客户端将二进制文件转换为BASE64(可以在 java 中做......我也用 ajax 做)并作为“字符串”传输,另一方面,在 web 服务中从 BASE64 编码为二进制...

这是一个想法,这是可行的,但在所有环境中可能都不是“正确的”。

于 2008-08-18T11:35:32.187 回答