zoukankan      html  css  js  c++  java
  • C# 多文件打包

    public HttpResponseMessage GetZip()
    {
    var response = Request.CreateResponse(HttpStatusCode.OK);
    try
    {

    ZipOutputStream zipOutputStream = null;
    var pdfFiles =new List<fileC>;//pdfFiles  实际存在的文件路径列表
    var tempDirPath = System.Web.Hosting.HostingEnvironment.MapPath("~/temp");

    MemoryStream ms = new MemoryStream();
    zipOutputStream = new ZipOutputStream(ms);

    if (pdfFiles.Any())
    {
    foreach (var pdfFile in pdfFiles)
    {
    var fileInfo = new FileInfo(pdfFile.path);
    ZipEntry entry = new ZipEntry(pdfFile.fileName);
    entry.DateTime = DateTime.Now;
    entry.Size = fileInfo.Length;
    zipOutputStream.PutNextEntry(entry);
    byte[] buffer = new byte[4096];
    using (var streamReader = File.OpenRead(pdfFile.path))
    {
    StreamUtils.Copy(streamReader, zipOutputStream, buffer);
    }
    zipOutputStream.CloseEntry();
    }
    }

    zipOutputStream.IsStreamOwner = false;
    zipOutputStream.Close();
    ms.Position = 0;
    //var response = Request.CreateResponse(HttpStatusCode.OK);
    response.Content = new StreamContent(new MemoryStream(ms.ToArray()));
    response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); //octec-stream
    response.Content.Headers.ContentLength = ms.Length;
    ContentDispositionHeaderValue contentDisposition = null;

    contentDisposition = new ContentDispositionHeaderValue("attachment")
    {
    FileName = "candidates.zip"
    };
    response.Content.Headers.ContentDisposition = contentDisposition;

    var tempDir = new DirectoryInfo(tempDirPath);
    tempDir.Delete(true);
    }
    catch (Exception ex)
    {
    //response.Content = new StringContent(ex.Message);
    logger.ErrorFormat("错误消息:{0} ,堆栈跟踪:{1}", ex.Message, ex.StackTrace);
    }
    return response;
    }

  • 相关阅读:
    MongoDB学习笔记(一) MongoDB介绍及安装
    MVC DefaultControllerFactory代码分析
    WCF中的变更处理
    分布式文档存储数据库 MongoDB
    wcf学习资料
    vs2010打包安装
    Android语音识别RecognizerIntent
    Eclipse快捷键
    甲骨文公司老板埃里森在耶如大学的…
    Android&nbsp;TTS语音识别
  • 原文地址:https://www.cnblogs.com/jayblog/p/13329917.html
Copyright © 2011-2022 走看看