首页 新闻 会员 周边

C#压缩问题,请教。

0
悬赏园豆:10 [已解决问题] 解决于 2019-10-12 14:09

byte[] buffer1=文件1
byte[] buffer2文件2

现有的只有这两个byte文件,我现在想把这两个文件进行打包,生成一个类似zip的包直接返回给客户端浏览器下载。
前提是,所有的操作不得在服务器磁盘生成任何实体文件,所以操作只能在内存中完成。

求个思路,流操作不太懂。谢谢

一禅·小和尚的主页 一禅·小和尚 | 小虾三级 | 园豆:519
提问于:2019-06-20 09:21
< >
分享
最佳答案
0

思路就是把这个问题变成两个问题,

  1. 如何把两个内存流 byte[] 文件压缩成ZIP,返回结果为 流。随便找个压缩库能支持者功能的就行,反正你也不会写。
  2. 如何把一个内存流变成一个下载接口,这是MVC知识,微软网站上随便找找也有。
收获园豆:4
爱编程的大叔 | 高人七级 |园豆:30839 | 2019-06-20 09:39

我不了解的只是,多个文件流,压缩成zip流。而不能在磁盘生成任何实体文件。
其他常识,我还是了解的。谢谢。

一禅·小和尚 | 园豆:519 (小虾三级) | 2019-06-20 10:06
其他回答(2)
0

传输流程就是文件→二进制(byte[])→传输→前端接受流→生成文件,网上搜索流压缩就行了,参考:
https://blog.csdn.net/weixin_42919496/article/details/81518931

收获园豆:3
小光 | 园豆:1766 (小虾三级) | 2019-06-20 09:27
0

找一些开源的压缩库,我没有试过,但是我觉得应该有这样的库,压缩后返回的是流。如果实在找不到,那也只好研究下zip文件的格式,手码了

收获园豆:3
会长 | 园豆:12401 (专家六级) | 2019-06-20 10:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册