zoukankan      html  css  js  c++  java
  • C#中文件多选 批量下载

    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


    /// <summary>
    /// 批量进行多个文件压缩到一个文件、
    /// <param name="files">文件列表(绝对路径)</param> 这里用的数组,你可以用list 等或者
    /// <param name="zipFileName">生成的zip文件名称</param>
    /// </summary>
    public void ZipFileDownload(string[] files, string zipFileName,HttpContext Context)
    {
    MemoryStream ms = new MemoryStream();
    byte[] buffer = null;

    using (ZipFile file = ZipFile.Create(ms))
    {
    file.BeginUpdate();

    file.NameTransform = new MyNameTransfom();
    foreach (var item in files)
    {
    if (File.Exists(Context.Server.MapPath(item)))
    file.Add(Context.Server.MapPath(item));

    }
    file.CommitUpdate();
    buffer = new byte[ms.Length];
    ms.Position = 0;
    ms.Read(buffer, 0, buffer.Length); //读取文件内容(1次读ms.Length/1024M)
    ms.Flush();
    ms.Close();
    }
    Context.Response.Clear();
    Context.Response.Buffer = true;
    Context.Response.ContentType = "application/x-zip-compressed";
    Context.Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(zipFileName));
    Context.Response.BinaryWrite(buffer);
    Context.Response.Flush();
    Context.Response.End();
    }
    }

    //调用 也可以用集合

    //string[] aa = { "/DownloadBuyPic/20161019073315220.zip", "/DownloadBuyPic/BigPic/20161020043805152.jpg" };
    //mt.ZipFileDownload(aa, DateTime.Now.ToString("yyyyMMddhhMmss") + "_检品报告书.zip",HttpContext.Current);

  • 相关阅读:
    python Flask JQuery使用说明
    sqlserve 数据类型具体解释
    赵雅智_ListView_SimpleAdapter
    HDU 1018 Big Number (log函数求数的位数)
    cocos2d函数
    BZOJ 3514 Codechef MARCH14 GERALD07加强版 Link-Cut-Tree+划分树
    QQ好友列表数据模型封装
    【Codeforces】512C Fox and Dinner
    spring中操作mysql数据库
    【读书笔记】iOS-Xcode-模拟器操作的一些快捷键
  • 原文地址:https://www.cnblogs.com/liwp/p/5997623.html
Copyright © 2011-2022 走看看