天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

asp.net SharpZipLib的壓縮與解壓問題

我使用SharpZipLib.dll中遇到的問題是:利用SharpZipLib壓縮后生成的*.rar文件,利用其可以正常解壓,但如果使用文件右擊壓縮生成的*.RAR文件,在解壓過程中出錯,具體報錯信息:Wrong Local header signature: 0x21726152 ;但*.zip文件可正常解壓。
具體壓縮、解壓代碼實現參照網絡上的代碼,貼出概要代碼:
復制代碼 代碼如下:
/// <summary>
/// 壓縮文件
/// </summary>
/// <param name="sourceFilePath">源文件路徑</param>
/// <param name="destinationPath">壓縮文件后的保存路徑</param>
/// <returns>壓縮是否成功</returns>
public bool Compress(string sourceFilePath, string destinationPath)
{
try
{
string[] filenames = Directory.GetFiles(sourceFilePath);
using (ZipOutputStream zs = new ZipOutputStream(File.Create(destinationPath)))
{
zs.SetLevel(9);
byte[] buffer = new byte[4096];
foreach (string file in filenames)
{
ZipEntry entry = new ZipEntry(Path.GetFileName(file));
entry.DateTime = DateTime.Now;
zs.PutNextEntry(entry);
using (FileStream fs = File.OpenRead(file))
{
int sourceBytes;
do
{
sourceBytes = fs.Read(buffer, 0, buffer.Length);
zs.Write(buffer, 0, sourceBytes);
}
while (sourceBytes > 0);
}
}
zs.Finish();
zs.Flush();
zs.Close();
}
}
catch (Exception)
{
return false;
}
return true;
} public bool DeCompress(string sourceFilePath, string destinationPath)
{
try
{
using (ZipInputStream zs = new ZipInputStream(File.OpenRead(sourceFilePath)))
{
ZipEntry entry = null;
//解壓縮*.rar文件運行至此處出錯:Wrong Local header signature: 0x21726152,解壓*.zip文件不出錯
while ((entry = zs.GetNextEntry()) != null)
{
string directoryName = Path.GetDirectoryName(entry.Name);
string fileName = Path.GetFileName(entry.Name);
if (!string.IsNullOrEmpty(fileName))
{
using (FileStream streamWriter = File.Create(destinationPath + entry.Name))
{
int size = 2048;
byte[] data = new byte[size];
while (true)
{
size = zs.Read(data, 0, data.Length);
if (size > 0)
{
streamWriter.Write(data, 0, size);
}
else
{
break;
}
}
}
}
}
}
}
catch (System.Exception)
{
return false;
}
return true;
}

如果需解壓*.rar的壓縮文件在網絡也可以找到相關的實現代碼,概要代碼:
復制代碼 代碼如下:
public bool DeCompressRAR(string sourceFilePath, string destinationPath)
{
try
{
string SeverDir = @"D:/Program Files/WinRAR";//rar.exe的要目錄
Process ProcessDecompression = new Process();
ProcessDecompression.StartInfo.FileName = SeverDir + "http://rar.exe";
Directory.CreateDirectory(sourceFilePath);
ProcessDecompression.StartInfo.Arguments = " X " + sourceFilePath + " " + destinationPath;
ProcessDecompression.Start();
while (!ProcessDecompression.HasExited)
{
//nothing to do here.
}
return true;
}
catch (System.Exception)
{
return false;
}
}

我本想利用FileUpload控件將上傳的壓縮文件解壓后保存至相對應的目錄并更新數據庫文件目錄,后發現一些較好的用于上傳的開源軟件:如NeatUpload,SWFUpload可以較方便的實現我的需求,遂沒有過多糾纏于SharpZipLib,可能關于SharpZipLib的壓縮與解壓有其它用法,不能被我誤導,以上代碼是從網絡上整合出來的,因為它太過于重復和散亂。

AspNet技術asp.net SharpZipLib的壓縮與解壓問題,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 精品视频免费在线观看 | 精品久久久久中文字幕加勒比东京热 | 蜜柚视频网在线观看免费 | 第一次处破女18分钟免费 | 色橹橹欧美在线观看视频高清 | 一本到道免费线观看 | 久草在线在线精品观看99 | 无人影院在线播放 | 一个人的免费高清影院 | 国产精品一久久香蕉国产线看 | 啦啦啦WWW在线观看免费高清版 | 农民下乡在线观看3 | 欧美麻豆一精品一AV一免费 | 国产精品香蕉视频在线 | 国产精品九九久久 | 伊人精品影院一本到综合 | 国产色精品久久人妻99蜜桃麻豆 | 高干紧射H后入 | 成人永久免费视频网站在线观看 | 好紧好湿太硬了我太爽了小说 | 久久99国产视频 | 野花影院手机在线观看 | a级精品九九九大片免费看 A级韩国乱理伦片在线观看 | 国产精品免费久久久久影院 | 欧美一级成人影院免费的 | 男人边吃奶边挵进去呻吟漫画 | 九九热这里都是精品 | 国产综合视频在线观看一区 | 亚欧洲乱码视频一二三区 | 久久免费电影 | 大胸美女被C得嗷嗷叫动态图 | 熟女啪啪白浆嗷嗷叫 | 91天仙tv嫩模福利 | 麒麟色欧美影院在线播放 | 日本一区不卡在线播放视频免费 | 芒果影院网站在线观看 | 国内精品一级毛片免费看 | 国产成人永久免费视频 | 九九免费的视频 | 亚洲欧美日韩国产手机在线 | 国产精品热久久高潮AV袁孑怡 |