我使用以下代码进行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();