如果机器安装有winRar软件,就可以通过shell来借用他的功能达到压缩文件的效果;
参考代码如下:
Dim DeliveryF As String = Server.MapPath("..\Temp\DeliveryFactors.xls") '原始文件 (压缩前)
Dim TruckInfo As String = Server.MapPath("..\Temp\TruckInformation.xls")
Dim QDetail As String = Server.MapPath("..\Temp\QuotationDetail.xls")
'用shell命令调用winrar.exe创建压缩文件()
Dim winRarexe As String = "C:\Program Files\WinRAR\Rar" 'winzip 执行文件的位置
Dim wtarget As String = "C:\temp\QuotationVAComparsion.zip" '目地文件 (压缩后)
Dim command As String = winRarexe & " a " & wtarget & " " & DeliveryF & " " & TruckInfo & " " & QDetail
'这个命令你可以查看winrar的命令集
Dim retval As Double 'Shell 指令传回值
retval = Shell(command, AppWinStyle.MinimizedFocus)
不引用第三方软件的话,可以使用System.IO.Compression 命名空间的GZipStream类,MSDN上有示例,你可以研究一下。
http://msdn.microsoft.com/zh-cn/library/system.io.compression.gzipstream(v=vs.80).aspx
给你个工程参考一下吧