1.压缩文件,然后读取文件夹
string fileurl = Server.MapPath("Word");
string fileysrul = Server.MapPath("WordTest") + "/Word.rar";
//压缩文件
PackFiles(fileysrul,fileurl);
byte[] filebyte = Returnbyte(fileysrul);
private byte[] Returnbyte(string strpath)
{//以二进制方式读文件
FileStream fsMyfile = new FileStream(strpath, FileMode.OpenOrCreate, FileAccess.Read);
//创建一个二进制数据流读入器,和打开的文件关联
BinaryReader brMyfile = new BinaryReader(fsMyfile);
//把文件指针重新定位到文件的开始
brMyfile.BaseStream.Seek(0, SeekOrigin.Begin);
byte[] bytes = brMyfile.ReadBytes(Convert.ToInt32(fsMyfile.Length.ToString()));
//关闭以上的new的各个对象
brMyfile.Close();
return bytes;
}
2、文件流读成文件后解压文件
//文件临时目录地址
string RARTEMPURL = System.Configuration.ConfigurationManager.AppSettings["RARTEMPURL"];
//文件存放目录地址
string FILEURL = System.Configuration.ConfigurationManager.AppSettings["FILEURL"];
//不存在临时目录文件路径则创建
if (!Directory.Exists(RARTEMPURL))
{
Directory.CreateDirectory(RARTEMPURL);
}
//添加解压文件名称
FILEURL += "\\"+name;
//不存在文件路径则创建
if (!Directory.Exists(FILEURL))
{
Directory.CreateDirectory(FILEURL);
}
string filefromurl = RARTEMPURL + "\\"+name+".rar";
FileStream fs = new FileStream(filefromurl, FileMode.Create, FileAccess.Write);
fs.Write(fileByte, 0, fileByte.Length);
fs.Close();
//解压目录
string filetourl=FILEURL;
//解压文件
UnZip(filefromurl,filetourl);
//删除压缩文件
File.Delete(filefromurl);