【问题标题】:Large request when sending TIFF image via SOAP通过 SOAP 发送 TIFF 图像时的大请求
【发布时间】:2009-02-18 14:08:45
【问题描述】:

我们有一个带有上传图片方法的 WebService,这个方法接受一个字节数组,它是一个 TIFF。

在客户端,TIFF 使用Image.FromFile(path) 加载,然后保存到MemoryStream。然后调用memoryStream.ToArray() 生成一个字节数组,用于WebService 请求。

目前我们有一个 130 KB 大的 TIFF,但总请求大小几乎是 10 MB。这怎么可能发生?这是因为 Image.FromFile 方法将 TIFF 转换(放气)为标准格式,所以压缩等丢失了吗?有没有更好的方法来做到这一点?

谢谢。

【问题讨论】:

    标签: .net performance web-services soap


    【解决方案1】:

    将 tiff 加载到图像中确实会删除 TIFF 的所有压缩。

    如果您真的不需要将其加载到图像中,我只需将其作为任意文件读入内存并以这种方式发送字节数组。

    【讨论】:

      【解决方案2】:

      我尚未验证您的建议(Image 正在将 tiff 解压缩成一个更大的文件)实际上正在发生,尽管它看起来很可能。但是,如果是这样的话,那你就不能不以图像的形式读入文件,而是以二进制的形式读入吗?

      只需像二进制文件一样读取文件,然后将其放入 memoryStream 中。那么解压应该没有问题。

      【讨论】:

        【解决方案3】:

        也许你可以使用 WSE 3.0 MTOM,witch 是通过网络服务发送图像的最佳方式

        您可以找到更多信息here

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-01-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-03-29
          • 1970-01-01
          • 2018-04-20
          • 2021-08-02
          相关资源
          最近更新 更多