• 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;
    }

  • 相关阅读:
    crash收集上报方案
    keychain的使用
    自定义Xcode文件模板
    iOS实现一个简单的扫码功能
    tableView渲染延迟
    iOS app icons
    fastlane自动打包
    iOS pod封装和升级
    手写代码 -- 数组扁平化
    手写代码 -- Promise
  • 原文地址:https://www.cnblogs.com/jayblog/p/13329917.html
Copyright © 2020-2023  润新知