·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 文件打包下载

文件打包下载

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

文件打包下载

使用的dll:ICSharpCode.SharpZipLib

下载地址http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx

/// <summary>/// 下载资料/// </summary>public void DownloadCourseData(){    string attachBatchNo = DESHelper.Decrypt(ctx.Get("no"), "simpo");//附件批次号    List<Edu_Attach> edu_AttachList = edu_AttachService.FindAttByNo(attachBatchNo);//获取附件集合    if (edu_AttachList.Count > 0)    {        string pathName = edu_AttachList[0].AttachContent;//附件路径        int pos = pathName.LastIndexOf("/");        string path = pathName.Substring(0, pos + 1);//路径不含文件名        string zipName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + strUtil.GetRnd(4, true, false, false, false, "") + ".zip";//zip文件名        string zipPathName = PathHelper.Map(sys.Path.DiskPhoto) + path.Replace("/static/upload/image", "").Replace("/", "\\") + zipName;        FileStream fs = new FileStream(zipPathName, FileMode.Create);        ZipOutputStream zos = new ZipOutputStream(fs);        foreach (Edu_Attach edu_Attach in edu_AttachList)        {            string filePathName = PathHelper.Map(sys.Path.DiskPhoto) + edu_Attach.AttachContent.Replace("/static/upload/image", "").Replace("/", "\\");            pos = filePathName.LastIndexOf("\\");            string zipEntryName = edu_Attach.AttachName;            ZipEntry zipEntry = new ZipEntry(zipEntryName);            zos.PutNextEntry(zipEntry);            fs = File.OpenRead(filePathName);            byte[] byteArray = new byte[fs.Length];            fs.Read(byteArray, 0, byteArray.Length);            zos.Write(byteArray, 0, byteArray.Length);        }        zos.Finish();        zos.Close();        string downloadFileName = path + zipName;        redirectUrl(downloadFileName);    }}
View Code