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");

}

MVC实现实现文件流打包成压缩包相关推荐

  1. 将H264码流打包成RTP包

    分类: 流媒体(25) 版权声明:本文为博主原创文章,未经博主允许不得转载. H264码流打包成RTP包的代码如下: [cpp] view plaincopy #include <stdio.h ...

  2. H264码流打包成RTP包

    http://blog.csdn.net/tanningzhong/article/details/53281986 H264码流打包成RTP包的代码如下: [cpp] view plaincopy ...

  3. Android中将指定文件夹打包成压缩文件

    Android中将指定文件夹打包成压缩文件 因为业务功能的需要,所以今天在网上找了一下安卓中生成压缩文件的代码,搜到的不同文章基本都是用的同一段代码,当我使用这段代码时候发现,它在生成压缩文件的时候并 ...

  4. h264 裸流打包成mp4 注意事项

    需求: Android 端把网络摄像头的一段正在播放的视频流,截取保存成mp4(按录像按钮时开始录像). 实现: ffmpeg + x264 + sdl; h264 裸流 打包成MP4,在网上也有一大 ...

  5. php将文件夹打包zip文件,php将文件夹打包成zip文件

    php将文件夹打包成zip文件:function addFileToZip($path,$zip){ $handler=opendir($path); //打开当前文件夹由$path指定. while ...

  6. vue中将base64的pdf文件流转换成pdf并预览(二)——base64转PDF工具的使用

    vue中将base64的pdf文件流转换成pdf并预览(二)--base64转PDF工具的使用 Base64 to PDF官网 1.官网 官网--https://www.ipvoid.com/base ...

  7. Windows将文件夹打包成war包

    Windows将文件夹打包成war包 打开cmd命令提示符,进入要打包的文件夹,使用命令:jar -cvf 文件名.war *    ,(注意后面的'*'号与war前面有空格)生成的war包就在文件夹 ...

  8. 把文件或者文件夹打包成jar

    手动打包可以给任何文件夹打包,但是打包的文件夹中必须存在MANIFEST.MF文件,一般是在文件夹中有一个META-INF文件夹,在该文件夹中放MANIFEST.MF文件,如果没有,你可以创建META ...

  9. vue中将base64的pdf文件流转换成pdf并预览(一)——vue-pdf组件的基本使用

    vue中将base64的pdf文件流转换成pdf并预览(一)--vue-pdf组件的基本使用 vue-pdf组件官网--https://www.npmjs.com/package/vue-pdf 1. ...

最新文章

  1. (2)神经网络编程基础
  2. code blocks 代码颜色_vuepress中实现代码折叠、高亮
  3. hive和hbase区别和联系
  4. Java NIO 三件套
  5. “约见”面试官系列之常见面试题之第九十四篇之MVVM框架(建议收藏)
  6. python中不包不包括_Python文件部分(不包括数据)
  7. c语言关于内存编程,c语言内存
  8. Vista home版连Win7旗舰版的远程桌面,提示“您的凭据不工作”的解决方法
  9. Android ADB命令大全
  10. 卡尔卡尔曼滤波_卡尔加里最糟糕的网站2011:卡尔加里公交
  11. 故障转移集群搭建高可用文件共享服务器
  12. 复旦大学硕士盲审 计算机学院,《复旦大学论文抽检、盲审工作的通知.doc
  13. 自车坐标系下的物体相对和绝对位置和速度计算
  14. 成功时间管理软件推荐-DesktopCal和GTD
  15. Zadig 构建效率提升 40% 背后的实践思路
  16. 组合数学的一些常见公式
  17. Django 4.0文档学习(一)
  18. 海思3559A sample的整体架构
  19. 示波器电源测试交流耦合的陷阱
  20. matlab 函数pdf怎么用_用smallpdf可以将图片转换成pdf呢?怎么转?-使用教程-Smallpdf转换器_PDF转换器...

热门文章

  1. TUM数据集制作BundleFusion数据集
  2. Xvid编码器流程(基于xvid1.1.0)
  3. 【TensorFlow】——实现minist数据集分类的前向传播(常规神经网络非卷积神经网络)
  4. 视觉slam重点知识笔记
  5. 从gitlab上拉代码_从gitlab上拉取代码并一键部署
  6. oracle精简版_使用Entity Framework Core访问数据库(Oracle篇)
  7. vue点击按钮怎么跳转图片_vue-router组件里面点击一个按钮跳转到一个新的组件该怎么实现...
  8. 命令点亮硬盘灯_macOS下移动硬盘无法挂载且硬盘灯一直闪烁的解决方法
  9. uni-app 手指左右滑动实现翻页效果
  10. Cs231n课堂内容记录-Lecture 5 卷积神经网络介绍