吐槽:
搜狗推广API的报告服务太坑爹了!!!
搜狗推广API的报告服务太坑爹了!!!
搜狗推广API的报告服务太坑爹了!!!
搜狗的太垃圾了,获取下来的压缩包使用正常方式无法解压!!没有专门的API技术支持群,客服电话一直显示占线、、、我qnmd!
正文:
最近公司要求,再做一个自动下载压缩包、解压压缩包、读取压缩包中csv文件的功能,本以为是很稳定的事情了,没想到还有这么多插曲,今天特意记录下来看看
实现方式
目前比较流行的方式无外乎四种
1.使用ICSharpCode.SharpZipLib (Nuget中搜索)
正常的zip压缩包可以解压,主要方法:DeCompressionZip 使用ZipInputStream流+ZipEntry获取文件,循环的形式使用FileStream创建文件即可
2.使用DotNetZip (Nuget中搜索)
简单易用
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 using (Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile(zipFilePath + extension)) 2 { 3 zip.ExtractAll(zipFilePath, Ionic.Zip.ExtractExistingFileAction.OverwriteSilently); 4 }
3.使用微软自带的System.IO.Compression(貌似是.Net Framework4.5之后才支持)
更简单
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 System.IO.Compression.ZipFile.ExtractToDirectory(zipPath, extractPath);
4.安装WinRar软件,调用注册表的地址进行解压
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 if (WinRarHelper.ExistSetupWinRar) 2 { 3 if (WinRarHelper.ExistSetupWinRar) 4 { 5 try 6 { 7 WinRarHelper.UnCompressRar(zipPath, extractPath); 8 } 9 catch (Win32Exception e1) 10 { 11 //Response.Write(e1.Message + "<br>" + "服务器端禁止是我们网站使用WinRar应用执行!<br>"); 12 13 } 14 catch (Exception e1) 15 { 16 //Response.Write(e1.Message); 17 } 18 } 19 }