我目前正在尝试在我的项目中实现SevenZipSharp功能。我已经阅读了他们的文档,并查看了注释的源代码,但我在理解CompressFilesEncrypted方法时遇到了麻烦。我在archiveName参数上收到一个错误,显示“访问被拒绝”。
任何成功使用过这个工具的人可以给我一些关于如何完成这个实现的建议吗?
下面是我使用的代码(看起来很简单):
string fileName = Path.GetFileName(filepath);
string outputDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
try
{
SevenZipCompressor compressor = new SevenZipCompressor();
compressor.CompressionMethod = CompressionMethod.Default;
compressor.CompressionLevel = CompressionLevel.Normal;
compressor.ZipEncryptionMethod = ZipEncryptionMethod.Aes256;
compressor.ArchiveFormat = OutArchiveFormat.Zip;
**compressor.CompressFilesEncrypted(outputDir, "12345",filepath);**
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}任何洞察力都是非常感谢的!我知道以前肯定有人做到了这一点:)
发布于 2013-03-02 07:38:17
已更正代码,问题已解决。已更正以下代码:
SevenZipCompressor compressor = new SevenZipCompressor();
compressor.CompressionMethod = CompressionMethod.Deflate;
compressor.CompressionLevel = CompressionLevel.High;
compressor.ZipEncryptionMethod = ZipEncryptionMethod.Aes256;
compressor.ArchiveFormat = OutArchiveFormat.Zip;
compressor.CompressionMode = CompressionMode.Create;
compressor.EventSynchronization = EventSynchronizationStrategy.AlwaysAsynchronous;
compressor.FastCompression = false;
compressor.EncryptHeaders = true;
compressor.ScanOnlyWritable = true;
compressor.CompressFilesEncrypted(outputDir, password, filepath);输出目录要求文件名具有正确的扩展名。事实证明这是问题的一部分。
https://stackoverflow.com/questions/15014140
复制相似问题