我想下载一个zip文件,但其大小超过2 GB。由于byte []数组中2 GB大小的限制,我遇到了一个问题。如何下载zip文件?
FileContentResult fileContent = new
FileContentResult(System.IO.File.ReadAllBytes(exportDirectoryZip),
"application/zip")
{
FileDownloadName = Path.GetFileName(exportDirectoryZip)
};
//FOR VIEWS
var cd = new System.Net.Mime.ContentDisposition
{
Inline = true,
FileName = fileContent.FileDownloadName
};
//Response.AddHeader("Content-Disposition", cd.ToString());
return File(fileContent.FileContents, "application/zip");
答案 0 :(得分:2)
将大文件(特别是2GB)加载到仅流式传输到客户端的内存中是非常低效的,更不用说在32位进程中遇到内存问题。您最好加载要进行流传输的文件并返回流。这样可以降低主机对内存的影响。