.net core Compression使用ZipArchive创建压缩包出现Unexpected end of data错误
- 技术笔记
- 发布:2022年1月11日 08:48
- 142 人已阅读
简介使用.net core中Compression ZipArchive创建zip打包下载遇到了Unexpected end of data(文件末端错误)错误,找了下解决方案,记录下。
使用之前分享过的方式实现.net core压缩zip下载,遇到一个奇怪的问题,通过7zip检查压缩包,出现Unexpected end of data(文件末端错误)错误。通过一番查询解决了这个问题,但是没有想明白是什么原因。
之前分享过的实现代码:https://1023.org.cn/p/e0d7dd7580
.net core 压缩 zip 打包下载代码:
public FileResult Download()
{
var ms = new MemoryStream();
var zip = new ZipArchive(ms, ZipArchiveMode.Create);
var entry = zip.CreateEntry("Readme.txt"); // 压缩包内文件名
using var entryStream = entry.Open();
using var fs = new FileStream(@"C:\测试.txt", FileMode.Open); // 要压缩的文件路径,也可用内存流代替
fs.CopyTo(entryStream);
entryStream.Close();
zip.Dispose();
var fileBytes = ms.ToArray();
return File(fileBytes, MediaTypeNames.Application.Zip, "DownloadName");
}
本站发布的文章受知识共享协议保护,转载、收录请标明出处。
评论