我设置了以下代码来创建一组文档的zip文件:
public bool CreateDocumentationZipFile(int documentIdentifier, string zipDestinationPath, IList<string> documentPaths)
{
bool zipped = false;
if (documentPaths.Count > 0)
{
using (ZipFile loanZip = new ZipFile())
{
loanZip.AddFiles(documentPaths, false, zipDestinationPath);
loanZip.Save(string.Format("{0}{1}.zip",zipDestinationPath, documentIdentifier.ToString()));
zipped = true;
}
}
return zipped;
}
我遇到的问题是,当创建zip文件时,在zip文件中维护文件夹结构:
如
我正在创建位于
的选定文档的zip文件。C: ScannedDocuments
软件开发分支
当创建的zip文件被打开时,zip文件中的文件夹结构如下所示:
文件夹1 ("SoftwareDevelopment")
文件夹1里面是文件夹2 ("Branches")
文件夹2里面是文件夹3 ("ScannedDocuments")
扫描文件文件夹然后包含实际的扫描文件。
谁能告诉我我怎么能只是有扫描文件在zip没有文件夹路径被维护?
文档说明第三个参数
directoryPathInArchive (String)
指定用于覆盖文件中的任何路径的目录路径名字该路径可能对应,也可能不对应当前的文件系统。如果zip中的文件稍后被解压缩,这是解压缩文件所使用的路径。传入null (none inVB)将使用每个文件名的路径(如果有的话)。通过的根路径中插入条目档案。
因此,如果您总是希望将文件添加到zip存档的根目录,请更改
loanZip.AddFiles(documentPaths, false, zipDestinationPath);
loanZip.AddFiles(documentPaths, false, "");