欢迎访问张朋的技术分享社区
当前位置: 首页 > 技术分享  > C#

根据文件路径打包下载

2018/11/15 16:19:48 人评论

using (ZipFile file = ZipFile.Create(ms)) { file.BeginUpdate(); file.NameTransform = new MyNameTransfom();//通过这个名称格式化器,可以将里面的文件名进行一些处理。默认情况下,会自动根据文件的路径在zip中创建有关的…

            using (ZipFile file = ZipFile.Create(ms))

            {

                file.BeginUpdate();

                file.NameTransform = new MyNameTransfom();//通过这个名称格式化器,可以将里面的文件名进行一些处理。默认情况下,会自动根据文件的路径在zip中创建有关的文件夹。

                foreach (var item in list)

                {               

                    int i = 1;

                    try

                    {

                        file.Add(Server.MapPath(item.Url), item.CreateTime.ToLongDateString() + "_" + i.ToString() + "." + item.Url.Split('.')[1]);//文件重命名

                        i++;

                    }

                    catch

                    {


                    }

                }

                file.CommitUpdate();

                buffer = new byte[ms.Length];

                ms.Position = 0;

                ms.Read(buffer, 0, buffer.Length);

            }

            Response.AddHeader("content-disposition", "attachment;filename=2018.zip");

            Response.BinaryWrite(buffer);

            Response.Flush();

            Response.End();


 public class MyNameTransfom : ICSharpCode.SharpZipLib.Core.INameTransform

    {

        #region INameTransform 成员

        public string TransformDirectory(string name)

        {

            return null;

        }

        public string TransformFile(string name)

        {

            return Path.GetFileName(name);

        }

        #endregion

    }


附件下载

相关技术

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?