0

我正在尝试返回一个压缩文件

public FileResult Download()
        {
                MemoryStream outputStream = new MemoryStream();

                using (ZipFile zip = new ZipFile())
                {
                    zip.AddEntry("asdasd.html", "<html>fgdfg</html>");
                    zip.AddEntry("asdassssd.html", "<html>asddsaf</html>");
                    zip.Save(outputStream);
                }

               return File(outputStream, "application/zip", "file.zip");
}

但作为响应,它返回一个错误(在 XML 中):

XML 解析错误:找不到元素位置:moz-nullprincipal:{122aa411-1418-43f5-b950-4347af7c7217} 第 1 行,第 1 列:

我的回复有什么问题(对于我使用 DotNetZip 的 zip 文件)?

4

1 回答 1

3

您可能需要将 MemoryStream 重置为其缓冲区的开头,然后再将其作为文件返回给客户端。

outputStream.Seek(0, SeekOrigin.Begin);

我还建议您使用像 Fiddler 这样的代理来检查 Http 响应,以便更好地处理您的请求到底发送了什么。

于 2011-08-23T14:39:18.780 回答