• MVC实现实现文件流打包成压缩包


    MVC实现实现文件流打包成压缩包



    1、使用压缩类库SharpZipLib 

    SharpZipLib 是一款比较经典实用C#压缩类库

    SharpZipLib 库特点:功能丰富、稳定 ,支持主流 zip、Gzip Tar BZip2 格式

    2、项目中引用

    SharpZipLib的官方地址是:http://icsharpcode.github.io/SharpZipLib/,实际使用可以通过NuGet获取,在NuGet的地址是:http://www.nuget.org/packages/SharpZipLib/

    在Visual Studio中可以通过NuGet程序包管理控制台输入命令PM> Install-Package SharpZipLib或者用NuGet管理界面搜索并安装。

    需要引用命名空间:

     using ICSharpCode.SharpZipLib.Checksums; 

     using ICSharpCode.SharpZipLib.Zip; 

     using System.IO;

    3、MVC代码示例 直接从文件流输出zip

    //控制器写法

    public FileResult PrintData()

    {

                byte[] bytePDF = 需要打包的文件流;

                byte[] result = null;

                using (MemoryStream ms = new MemoryStream())

                {

                    using (ZipOutputStream zipStream = new ZipOutputStream(ms))

                    {

                        zipStream.Password = "123456";//设置压缩包密码

                        ZipEntry entry = new ZipEntry("文件名");

                        entry.DateTime = DateTime.Now;//创建时间

                        zipStream.PutNextEntry(entry);

                        zipStream.Write(bytePDF, 0, bytePDF.Length);

                        zipStream.CloseEntry();

                        zipStream.IsStreamOwner = false;

                        zipStream.Finish();

                        zipStream.Close();

                        ms.Position = 0;

                        //压缩后的数据被保存到了byte[]数组中。

                        result = ms.ToArray();

                    }

                }

    return File(result, "application/zip", "文件名.zip");

    }


  • 相关阅读:
    C++多态
    C++和C#实现剪切板数据交互
    通过CLR API实现C++调用C#代码交互
    COM方式实现C++调用C#代码的一些总结
    输入LPCWSTR类型字符串
    取得COM对象的UUID并以string输出
    springmvc xml文件配置中使用系统环境变量
    SpringMVC,SpringBoot上传文件简洁代码
    c语言实行泛型hashmap
    java使用nio(Paths,Files)遍历文件目录,转成java.io.File
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12351574.html
Copyright © 2020-2023  润新知