【发布时间】:2022-01-21 11:33:17
【问题描述】:
我正在尝试从存储为 SQL 数据库中的字节数组的文件生成 zip 文件。我正在使用此代码:
public async Task<IActionResult> Download(int id)
{
var files = this.assignmentsService.GetFilesForAssignment(id).ToList();
using var memoryStream = new MemoryStream();
using var archive = new ZipArchive(memoryStream, ZipArchiveMode.Create, true);
foreach (var file in files)
{
var zipFile = archive.CreateEntry(file.Name);
using var streamWriter = new StreamWriter(zipFile.Open());
streamWriter.Write(file.Content);
}
return this.File(memoryStream.ToArray(), "application/zip", "Description.zip");
}
当我运行它时,文件已成功下载,所有文件都在存档中。但是当我尝试打开其中一个时,我收到以下错误:
C:\Users\User\Downloads\Description.zip:存档意外结束
【问题讨论】:
-
在返回之前尝试手动归档
Dispose。
标签: c# asp.net-core zip