我压缩上传的.pdf
文件并将其保存到服务器的文件系统中。一切都运作良好,但文件变大,从30kb到48kb。我能做错什么?这是压缩上传文件的代码部分:
FileStream sourceFile = System.IO.File.OpenRead(filePath);
FileStream destFile = System.IO.File.Create(zipPath);
GZipStream compStream = new GZipStream(destFile, CompressionMode.Compress);
try
{
int theByte = sourceFile.ReadByte();
while (theByte != -1)
{
compStream.WriteByte((byte)theByte);
theByte = sourceFile.ReadByte();
}
}
答案 0 :(得分:1)
我想这里的问题是GZipLib
。我使用了DotNetZip
而文件变得越来越小了。可以下载here。
答案 1 :(得分:0)
System.IO.Compression .. ::。DeflateStream和System.IO.Compression .. ::。GZipStream类的压缩算法已得到改进,因此已压缩的数据不再膨胀。这导致更好的压缩比。此外,已经删除了压缩流的4千兆字节大小限制。
它已在.NET 4中修复。
答案 2 :(得分:-2)
我可能做错了什么?
PDF文件标准已经提供了不同部分的压缩。所以你得到的可能是一个已压缩的文件。并且您知道当您尝试压缩压缩文件时会发生什么?这就像你试图压缩ZIP文件一样:有点无用。