0

使用 C# 通过 Web 服务传输 800*600 图像的最佳方法是什么?

我正在寻找一种快速的方法。

谢谢

4

4 回答 4

1

如果您使用 WSE,请考虑使用 MTOM

如果您使用的是 WCF,则可以使用 MTOM 绑定

于 2010-07-23T17:12:58.120 回答
1

如果您使用的是 WCF 4.0,那么您可以使用套接字编程,然后您可以从那里以二进制形式传输(当然用 7zip 压缩)。

如果图像已经是压缩格式(例如 jpeg),那么压缩不会那么好,它会减慢实际的总传输速度(压缩 - 传输 - 解压缩)。

于 2010-07-23T17:07:22.557 回答
0

如果您想节省带宽/速度(未在许多不同的图像格式上测试)

7zip C# SDK ( http://www.7-zip.org/sdk.html ) 7-压缩字节并发送字节

并在需要时取消“7-Zip”(LZMA)字节并转换为图像。

于 2010-07-23T17:02:14.707 回答
0

您可能希望将图像分成小块发送(即使它像 Chris Schroeder 提到的那样压缩了),一次说 50K。与一次发送整个文件相比,这为您提供了两个优势:

  • 您可以向用户显示进度
  • 如果一个片段无法传输,那么您只需发送该片段而不是整个文件

但是,使用这种方法,您现在有 2 个新问题需要处理,那就是确保您获得所有部件,并且它们的顺序正确。

与图像数据一起发送一些元数据可以解决这种情况。将这条数据与其他数据相关联的标识符,以及将确定该数据相对于其余数据的位置的片段编号。

于 2010-07-23T17:08:19.433 回答