WCF返回“;“动态”;gzipstream
我需要创建一个服务,返回由一个或多个文件组成的GZipStream。文件数量可能有数百个,每个文件可能占用超过500MB的空间 在传输流时,是否可以将文件动态添加到gzipstream?(避免在需要将文件复制到流中时遇到内存不足异常) 等等:WCF返回“;“动态”;gzipstream,wcf,stream,Wcf,Stream,我需要创建一个服务,返回由一个或多个文件组成的GZipStream。文件数量可能有数百个,每个文件可能占用超过500MB的空间 在传输流时,是否可以将文件动态添加到gzipstream?(避免在需要将文件复制到流中时遇到内存不足异常) 等等: 将fileA复制到要返回的流 客户端开始读取流 读取文件A(客户端)后,将文件B复制到流(服务器端) 客户端继续读取流 。。。等等,直到没有更多的文件 顺便说一句,压缩文件并不重要,只需要将它们组合成一个zip文件,这样客户端只需下载一个文件 因此,我的目
谢谢。您可以将这些文件合并到磁盘上的单个zip文件中,然后将该文件流式传输回去 有关如何将文件组合到zip文件的信息,请参阅:
这解决了内存不足的问题,但这确实意味着您需要大量的磁盘空间。在磁盘上临时创建zip似乎是一种方法。。。谢谢