通过SOAP发送TIFF图像时的大请求

时间:2009-02-18 14:08:45

标签: .net performance web-services soap

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

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

目前我们有一个130 KB大的TIFF,但总请求大小几乎是10 MB。怎么会发生这种情况?这是因为Image.FromFile方法将TIFF转换(缩小)为标准格式,因此压缩等会丢失吗?有没有更好的方法呢?

感谢。

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

我还没有确认你所建议的内容(Image正在将tiff解压缩成更大的文件)实际上正在发生,尽管看起来很可能。但是,如果是这种情况,那么你不能只是将文件作为图像读入,而是作为二进制文件读取吗?

只需将文件读入就像是二进制文件一样,然后将其放入memoryStream中。然后解压缩应该没有任何问题。

答案 2 :(得分:1)

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

您可以找到更多信息here