使用 C# 通过 Web 服务传输 800*600 图像的最佳方法是什么?
我正在寻找一种快速的方法。
谢谢
如果您使用 WSE,请考虑使用 MTOM。
如果您使用的是 WCF,则可以使用 MTOM 绑定。
如果您使用的是 WCF 4.0,那么您可以使用套接字编程,然后您可以从那里以二进制形式传输(当然用 7zip 压缩)。
如果图像已经是压缩格式(例如 jpeg),那么压缩不会那么好,它会减慢实际的总传输速度(压缩 - 传输 - 解压缩)。
如果您想节省带宽/速度(未在许多不同的图像格式上测试)
7zip C# SDK ( http://www.7-zip.org/sdk.html ) 7-压缩字节并发送字节
并在需要时取消“7-Zip”(LZMA)字节并转换为图像。
您可能希望将图像分成小块发送(即使它像 Chris Schroeder 提到的那样压缩了),一次说 50K。与一次发送整个文件相比,这为您提供了两个优势:
但是,使用这种方法,您现在有 2 个新问题需要处理,那就是确保您获得所有部件,并且它们的顺序正确。
与图像数据一起发送一些元数据可以解决这种情况。将这条数据与其他数据相关联的标识符,以及将确定该数据相对于其余数据的位置的片段编号。