asp.net 网站中的 7 zip 压缩

本文关键字:zip 压缩 net 网站 asp | 更新日期: 2023-09-27 17:55:53

我正在尝试使用 7-zip 压缩来创建示例文件的 zip,如示例中给出的那样http://www.dotnetperls.com/7-zip正如 URL 所说,"您必须指定"如果较新则复制"或"始终复制"才能将可执行文件等文件复制到输出目录。

我发现当我在

VS 项目中使用此代码时,当我在属性窗口中看到 7za.exe 的属性时,我确实可以选择指定"如果较新则复制"

但是当我在 VS 网站中使用时,我找不到此选项。结果,当我调试这个程序时,它说它找不到7za.exe

string sourceName = "pdfSample.pdf";
string targetName = "pdfSample.gz";
ProcessStartInfo p = new ProcessStartInfo();
p.FileName = "7za.exe";
p.Arguments = "a -tgzip '"" + targetName + "'" '"" + sourceName + "'" -mx=9";
p.WindowStyle = ProcessWindowStyle.Hidden;
try
{
    Process x = Process.Start(p);
    x.WaitForExit();
}
catch (Exception ex)
{
    Console.Write(ex.ToString());
} 

知道为什么在VS网站的情况下没有"如果较新则复制"选项吗?

谢谢!

asp.net 网站中的 7 zip 压缩

您需要

包含 7za.exe 的路径。 请记住,网页在匿名用户或应用池的帐户下运行。这些帐户还需要具有 7zip 的路径和 exe 的权限。

就个人而言,我永远不敢从 ASP.NET 应用程序中启动新进程。

原因是我不知道该过程是否会显示某些窗口或执行其他操作,例如单实例。

如果我必须解决您的要求,我会使用类库来处理 7zip 文件。