【发布时间】:2018-05-14 23:57:42
【问题描述】:
我正在尝试在 ASP.NET MVC 中创建一个压缩文件,其中包含一个 PDF 文件。但是,使用下面的代码会创建一个空的 zip 文件。有人可以告诉我我做错了什么吗?
public FileResult DownloadZipfile(string html)
{
MemoryStream memoryStream = new MemoryStream();
ZipArchive archive = new ZipArchive(memoryStream, ZipArchiveMode.Create, true);
byte[] rawDownload = PDFConverterUtils.PdfSharpConvert(html);
ZipArchiveEntry entry = archive.CreateEntry("MyPDF.pdf");
using (Stream entryStream = entry.Open())
using (StreamWriter streamWriter = new StreamWriter(entryStream))
{
streamWriter.BaseStream.Write(rawDownload, 0, rawDownload.Length);
}
return new FileStreamResult(memoryStream, System.Net.Mime.MediaTypeNames.Application.Zip) { FileDownloadName = "test.zip" };
}
【问题讨论】:
-
为什么你有一个没有等待的异步方法?
-
对不起,谢谢。那是因为为了简洁起见,我删除了优化
html的方法部分。我将编辑方法。 -
如果您只是将
rawDownload字节写入磁盘,您是否验证了pdf数据?
标签: c# asp.net asp.net-mvc