Tag: sharpziplib

c#sharpziplib将文件添加到现有存档

我正在尝试使用以下代码将文件添加到现有存档。 运行时不会显示任何错误或exception,但也不会将任何文件添加到存档中。 有什么想法吗? using (FileStream fileStream = File.Open(archivePath, FileMode.Open, FileAccess.ReadWrite)) using (ZipOutputStream zipToWrite = new ZipOutputStream(fileStream)) { zipToWrite.SetLevel(9); using (FileStream newFileStream = File.OpenRead(sourceFiles[0])) { byte[] byteBuffer = new byte[newFileStream.Length – 1]; newFileStream.Read(byteBuffer, 0, byteBuffer.Length); ZipEntry entry = new ZipEntry(sourceFiles[0]); zipToWrite.PutNextEntry(entry); zipToWrite.Write(byteBuffer, 0, byteBuffer.Length); zipToWrite.CloseEntry(); zipToWrite.Close(); zipToWrite.Finish(); } }

如何使用C#正确准备“HTTP重定向绑定”SAML请求

我需要使用HTTP重定向绑定方法创建SP启动的SAML 2.0身份validation事务。 事实certificate这很容易。 只需获取IdP URI并连接单个查询字符串参数SAMLRequest 。 param是xml的编码块,用于描述SAML请求。 到现在为止还挺好。 将SAML转换为查询字符串参数时出现问题。 我相信这个准备过程应该是: 构建SAML字符串 压缩此字符串 Base64编码字符串 UrlEncode字符串。 SAML请求 URN:xx-xx-xx 代码 private string GetSAMLHttpRedirectUri(string idpUri) { var saml = string.Format(SAMLRequest, Guid.NewGuid()); var bytes = Encoding.UTF8.GetBytes(saml); using (var output = new MemoryStream()) { using (var zip = new DeflaterOutputStream(output)) { zip.Write(bytes, 0, bytes.Length); } var base64 = Convert.ToBase64String(output.ToArray()); var urlEncode […]

C#.net识别zip文件

我目前正在使用SharpZip api处理我的zip文件条目。 它适用于压缩和解压缩。 但是,我无法确定文件是否为zip文件。 我需要知道是否有办法检测文件流是否可以解压缩。 原来我用过 FileStream lFileStreamIn = File.OpenRead(mSourceFile); lZipFile = new ZipFile(lFileStreamIn); ZipInputStream lZipStreamTester = new ZipInputStream(lFileStreamIn, mBufferSize);// not working lZipStreamTester.Read(lBuffer, 0, 0); if (lZipStreamTester.CanDecompressEntry) { LZipStreamTester每次都变为null,if语句失败。 我尝试了/没有缓冲区。 谁能提供任何有关原因的见解? 我知道我可以检查文件扩展名。 我需要的东西比那更明确。 我也知道zip有一个神奇的#(PK的东西),但它不能保证它永远存在,因为它不是格式的要求。 另外我读到.net 4.5有本机zip支持所以我的项目可能会迁移到而不是sharpzip,但我仍然需要没有看到类似于CanDecompressEntry的方法/参数: http : //msdn.microsoft.com/en-我们/库/ 3z72378a%28V = vs.110 29% 我的最后一招是使用try catch并尝试解压缩文件。