C# 包含空格的文件名';在压缩操作中,已将更改为%20

C# 包含空格的文件名';在压缩操作中,已将更改为%20,c#,zip,package,C#,Zip,Package,我使用下面的代码进行Zip文件操作。文件名中包含空格,已将其转换为%20作为文件名 string destFilename = ".\\" + Path.GetFileName(fileToAdd); Uri tempUri = new Uri("/"+Path.GetFileName(fileToAdd), UriKind.Relative); Uri uri = PackUriHelper.CreatePartUri(tempUri); if

我使用下面的代码进行Zip文件操作。文件名中包含空格,已将其转换为%20作为文件名

string destFilename = ".\\" + Path.GetFileName(fileToAdd);
Uri tempUri = new Uri("/"+Path.GetFileName(fileToAdd), UriKind.Relative);
            Uri uri = PackUriHelper.CreatePartUri(tempUri);
            if (zip.PartExists(uri))
                zip.DeletePart(uri);
            PackagePart pkgPart = zip.CreatePart(uri, System.Net.Mime.MediaTypeNames.Application.Zip, CompressionOption.Normal);
            Byte[] bites = System.IO.File.ReadAllBytes(fileToAdd);
            pkgPart.GetStream().Write(bites, 0, bites.Length);
            zip.Close();

您使用的是哪个ZIP类?如果不想对路径进行百分比编码,为什么要使用URI?你期望的结果是什么?我正在使用System.IO.Packaging.Package.Open类。当我传递路径contains path时,它被转换为“%20”输入:在CreatePartUri中传递hello world.jpg路径,它返回hello%20world.jpg PartUri,但我想要hello word.jpg PartUri您找到解决此问题的方法了吗?