.net core Compression使用ZipArchive创建压缩包出现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");
}
评论