如何在.net core mvc c#中提取格式.gz/.zip/.rar/.tar.gz

Posted

技术标签:

【中文标题】如何在.net core mvc c#中提取格式.gz/.zip/.rar/.tar.gz【英文标题】:How to way extract format .gz/.zip/.rar/.tar.gz in .net core mvc c# 【发布时间】:2022-01-18 12:04:26 【问题描述】:

我在操作打开文件遵循格式 .gz/.tar.gz 时遇到问题 这是图片错误

这是代码:

 public void Check(string path)
    
        foreach (var fileName in Directory.GetFiles(path))
        
            if (Path.GetExtension(fileName) == ".gz" && Path.GetFileNameWithoutExtension(fileName).Contains("tar"))
            
                Console.WriteLine(fileName);

                ExtractTGZ(fileName, Path.GetDirectoryName(fileName) + @"\" + Path.GetFileNameWithoutExtension(fileName));
                System.IO.File.Delete(fileName);

            
        
        
    

【问题讨论】:

【参考方案1】:

System.IO.Compression 命名空间包含以下用于压缩和解压缩文件和流的类型。您还可以使用这些类型来读取和修改压缩文件的内容。

string fileName = Guid.NewGuid() + ifile.FileName;
string path = Path.Combine(FilesTempPath, fileName);
using (var fileStream = new FileStream(path, FileMode.Create))

    ifile.CopyTo(fileStream);


var FileZipPath = FilesTempPath + "\\" + fileName;
ZipFile.ExtractToDirectory(FileZipPath, FilesTempPath);

【讨论】:

【参考方案2】:

MSDN 中的以下示例显示了如何使用 GZipStream 类来压缩和解压缩文件目录。

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于如何在.net core mvc c#中提取格式.gz/.zip/.rar/.tar.gz的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C# 在 ASP.NET Core 3.1 MVC 中使用会话变量

使用 C# 提取 PDF 文件中的所有文字(支持 .NET Core)

如何在 C# 页面 ASP.NET Core MVC 上使用 SignInManager 和 Usermanager

如何确定在 C# ASP.NET CORE MVC 5.0 中选择了哪个单选按钮

如何在 C# 中将数据发送到 ASP.NET Core MVC 控制器?

在 ASP.NET MVC Core(C#) 中执行 Oracle 存储过程 (PL/SQL)