Of course, you can send binary files through web services (for example, SOAP), but usually you need to do some kind of encoding, such as base64, which increases the amount of data sent. One of the most efficient ways to send an arbitrary binary is to use the HTTP PUT operation, since there is no overhead. Not all customers necessarily have an easy way to do this, but it's worth a look.
The other side of this coin is how to get data from a user drive to a network connection. The ajax thin client may not have the required permissions to read files from a user drive. On the other hand, a desktop application implementation could do this without any problems.
source share