C# tarArchive ExtractContents()创建目录时发生异常'*';因为已经存在同名的文件或目录
我用asp.net内核编写了一个程序,我将提取tar归档文件,我使用了这种方法C# tarArchive ExtractContents()创建目录时发生异常'*';因为已经存在同名的文件或目录,c#,asp.net-core,filestream,C#,Asp.net Core,Filestream,我用asp.net内核编写了一个程序,我将提取tar归档文件,我使用了这种方法 tarArchive.ExtractContents(destPathFolder) 但我在创建目录“*”时出错,因为已经存在同名的文件或目录。我不知道如何解决这个问题我做了很多搜索,但我无法解决我的问题 例如,blow地址是我提取文件的地方 C:\data\634192CC-FDCB-4711-BD41-B0F7A7E77148\BAF59489-C7F9-4747-A0A1-B3C7A94FFFD4-2019-
tarArchive.ExtractContents(destPathFolder)
但我在创建目录“*”时出错,因为已经存在同名的文件或目录。我不知道如何解决这个问题我做了很多搜索,但我无法解决我的问题
例如,blow地址是我提取文件的地方
C:\data\634192CC-FDCB-4711-BD41-B0F7A7E77148\BAF59489-C7F9-4747-A0A1-B3C7A94FFFD4-2019-12-08
14-47-19\task-2019-12-08 21-13-20
此方法提取包含文本文件的tar归档文件。这意味着如果我们有图像文件,我们将得到该错误
static void ExtractTar(Stream inStream, String destFolder)
{
string sourcePath = Path.Combine(destFolder , "/data" );
Stream tarStream = new TarInputStream(inStream);
TarArchive tarArchive = TarArchive.CreateInputTarArchive(tarStream);
tarArchive.ExtractContents(sourcePath );
tarArchive.Close();
tarStream.Close();
inStream.Close();
}
我已更改为此代码,但我已获得对“”的访问路径被拒绝
static void ExtractTar(string addressFile, string destFolder)
{
Stream inStream = System.IO.File.OpenRead(addressFile);
TarArchive tarArchive = TarArchive.CreateInputTarArchive(inStream);
tarArchive.ExtractContents(destFolder);
tarArchive.Close();
inStream.Close();
}
你所说的“这意味着如果我们有图像文件,我们就会出错”是什么意思?@Nayu,这意味着有时我们在tar归档文件中有一个文本文件,我可以从tar归档文件中提取文本文件,但有时我们在其中有图像。但我不能提取图像文件(例如多个图像)。有时?您能否确认哪个条件使多个图像无法工作?它在我的测试中使用多个images@NanYu,我已更改了代码,并在问题中添加了,但现在我获得了“”的访问路径被拒绝错误。当然,destFolder和addressFile是相同的路径。您是在IIS上托管还是在vs上托管?