我使用DotNetZip创建一个zip文件并将其传递给FileResult。在调试时,我可以验证MemoryStream是否包含一个文件,但是当我通过FileStreamResult运行它时,它返回0字节:
public FileResult GetZipFiles(int documentId) {
var file = fileRepository.Get(documentId);
var zip = new ZipFile();
var stream = new MemoryStream();
var filePath = Path.Combine(UploadsFolder, Path.GetFileName(file.Id));
zip.AddFile(filePath);
zip.Save(stream);
var result = new FileStreamResult(stream, "application/zip")
{ FileDownloadName = "hey.zip" };
return result;
}
同样,我可以验证流是否为空,但这将始终返回文件。hey.zip
作为0字节。我一定是在用MemoryStream
这里错了?或FileStreamResult
我没料到它会做什么吗?我用过FileStreamResult
以前,但不是和MemoryStream
...
相似问题