Ric*_*ale 14 c# zipfile ionic-zip
我设置了以下代码来创建一组doucments的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;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,当创建zip文件时,文件夹结构将保存在zip文件中:
例如
我正在创建一个位于的文档选择的zip文件
C:\ SoftwareDevelopment \分行\ ScannedDocuments \
打开创建的zip文件时,zip中有一个文件夹结构,如下所示:
文件夹1("SoftwareDevelopment")
内部文件夹1是文件夹2("分支")
文件夹2内是文件夹3("ScannedDocuments")
扫描的文档文件夹然后包含实际的扫描文件.
任何人都可以告诉我如何在没有维护文件夹路径的情况下将zip文件放在zip中?
Tre*_*reb 19
该文件指出,第三个参数
directoryPathInArchive(String)
指定用于覆盖文件名中任何路径的目录路径.该路径可以或可以不对应于当前文件系统中的真实目录.如果稍后提取zip中的文件,则这是用于提取文件的路径.传递null(在VB中为Nothing)将使用每个fileNames上的路径(如果有).传递空字符串("")将在归档中的根路径中插入项目.
因此,如果您始终希望将文件添加到zip存档的根目录中,请进行更改
loanZip.AddFiles(documentPaths, false, zipDestinationPath);
Run Code Online (Sandbox Code Playgroud)
至
loanZip.AddFiles(documentPaths, false, "");
Run Code Online (Sandbox Code Playgroud)