C# 4.5自带的ZIP压缩文件解压功能代码

admin 发布时间:2016-07-13 分类:.NET 阅读:2013次 2 条评论

在4.5中,超简单的一段代码,无需引用额外的第三方库。

上传ZIP文件后将zip文件解压至指定的目录,代码:

HttpPostedFileBase zipfile = Request.Files["zipfile"];
if (zipfile == null)
    return "zip文件不能为空";
if (zipfile.ContentLength == 0 || zipfile.ContentLength > 10 * 1024 * 1024)
{
    return "文件大小不符合";
}
if (!zipfile.FileName.EndsWith(".zip"))
{
    return "格式错误";
}
//保存的文件名,及解压的文件夹名
string dirname=DateTime.Now.ToString("yyyyMMddHHmmssfff");
//保存在服务器的路径
var zipPath = Server.MapPath(string.Format("~/source/temp/{0}.zip", dirname));
//上传完成后解压的路径
var zipExtraPath = Server.MapPath(string.Format("~/source/{0}/{1}", luaDir, dirname));
zipfile.SaveAs(zipPath);
DirectoryInfo dire = new DirectoryInfo(zipExtraPath);
//如果文件夹存在,解压会报错
if (dire.Exists)
{
    dire.Delete(true);
}
//将ZIP文件夹解压到路径 zipExtraPath
ZipFile.ExtractToDirectory(zipPath, zipExtraPath);


已有2条留言

发表评论:

◎欢迎您的参与讨论。