gpt4 book ai didi

c# - 下载 zip 文件 ASP MVC 的问题

转载 作者:行者123 更新时间:2023-11-30 23:23:32 25 4
gpt4 key购买 nike

我正在使用一个将一些文件压缩在一起的 ASP MVC 站点。它似乎在工作,但是当我尝试提取文件时,我得到了

An unexpected error is keeping you from copying the file. If you continue the receive this error, you can use the error code to search for help with this problem.
enter code here


Error 0x80004005: Unspecified error

7 Zip 说 CRC 失败。文件已损坏。

在写入或下载 zip 时,似乎有些东西被破坏了。我已经尝试了 2 种不同的方法来下载具有相同结果的文件。

public ActionResult DownloadFiles()
{
List<string> files = GetFileList();
using (ZipFile zip = new ZipFile())
{
foreach (string file in files)
zip.AddFile(file, string.Empty);

MemoryStream output = new MemoryStream();
zip.Save(output);
return File(output.ToArray(), "application/zip", "file.zip");
}
}

public void DownloadFiles()
{
List<string> files = GetFileList();
using (ZipFile zip = new ZipFile())
{
foreach (string file in files)
zip.AddFile(file, string.Empty);

Response.Clear();
Response.BufferOutput = false;
Response.ContentType = "application/zip";
Response.AddHeader("content-disposition", "attachment; filename=file.zip");
zip.Save(Response.OutputStream);
Response.End();
}
}

<button onclick="fn_DownloadFiles()">Download Selected</button>

function fn_DownloadSelectedFiles()
{
window.location.href = "/Files/DownloadFiles"
}

文件损坏的任何原因?

我也试过

public ActionResult DownloadFiles(string filePaths)
{
List<string> files = GetFileList();
using (MemoryStream zipStream = new MemoryStream())
using (ZipArchive zipArchive = new ZipArchive(zipStream, ZipArchiveMode.Create, true))
{
foreach (string file in files)
{
ZipArchiveEntry entry = zipArchive.CreateEntry(file, CompressionLevel.Fastest);

using (FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (Stream entryStream = entry.Open())
fileStream.CopyTo(entryStream);
}
return File(zipStream.ToArray(), "application/zip", "files.zip"));
}
}

有了这个,我得到 Windows 无法打开文件夹。压缩 (zipped) 文件夹无效。

最佳答案

您使用的是什么版本的 DotNetZip?最近的版本有一个错误。尝试安装旧版本 (1.9) 并运行您的代码。如果有效,则 bug 仍未修复。

下面是工作项的链接。 https://dotnetzip.codeplex.com/workitem/14087

关于c# - 下载 zip 文件 ASP MVC 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38336953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com