2009-02-18 45 views
0

我们有一个带有上传图像的方法的WebService,该方法接受一个TIFF的字节数组。通过SOAP发送TIFF图像时的大量请求

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

目前我们有一个130KB大小的TIFF,但总请求大小差不多是10MB。这怎么会发生?这是因为Image.FromFile方法将TIFF转换(缩小)为标准格式,因此压缩等会丢失?有没有更好的方法来做到这一点?

谢谢。

回答

2

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

如果您确实没有必要将它加载到Image中,我只是将它作为任意文件读入内存并以这种方式发送字节数组。

+0

我给一个尝试,谢谢。 – 2009-02-18 14:15:42

1

我还没有证实你的建议(即图像是将tiff解压缩成更大的文件)实际上正在发生,尽管看起来很可能。但是,如果是这样的话,那么难道你不能只是在文件中读取图像,而是作为一个二进制文件?

只读文件就好像它是一个二进制文件,并将其放入memoryStream。那么减压应该没有问题。

1

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

来发送图片你可以找到更多信息here