解压并重命名文件

2016/10/26 16:46:19 www.edu-paas.com

   


C# 解压文件代码:(目前只支持.zip文件解压)


注意:文件的要有写入的权限


HttpFileCollection file = HttpContext.Current.Request.Files;

            if (file.Count != 0)
            {
                StringBuilder strMsg = new StringBuilder();
                HttpPostedFile postFile = file[0];
                //上传文件的基本信息
                string fileName = System.IO.Path.GetFileName(postFile.FileName);
                string fileExtension = System.IO.Path.GetExtension(fileName);
                log.WriteLog(strMsg.ToString());
                //保存
                postFile.SaveAs(context.Server.MapPath("/Resources/Extension/" + fileName));

                if (fileExtension == ".zip")
                {
                    try
                    {
                        //解压文件
                        string[] args = { context.Server.MapPath("/Resources/Extension/" + fileName), context.Server.MapPath("/images/arclist_") };
                        UnZipClass.UnZip(args);

                        //获取文件名称集合
                        string[] imgFile = DirFileHelper.GetFileNames(context.Server.MapPath("/images/arclist_"));

                        //重命名文件
                        int j = 1;
                        for (int i = 0; i < imgFile.Length; i++)
                        {
                            string ext = System.IO.Path.GetExtension(imgFile[i]);
                            if (ext == ".png" || ext == ".jpg")
                            {
                                new System.IO.FileInfo(imgFile[i]).MoveTo(context.Server.MapPath("/images/arclist_/") + (j + 1) + ".png");//通过重新保存的方式重命名
                                j++;
                            }
                            else
                            {
                                File.Delete(imgFile[i]);//删除其他文件
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        log.WriteLog(ex.ToString());
                    }
                }
                else
                {
                    context.Response.Write("102");//只能是zip格式的压缩包
                }

            }