DotNetZip 创建包含文件路径的子文件夹
DotNetZip Creates Subfolders Containing the File Paths
我.zip
一个文件使用DotNetZip
,但里面包含实际文件路径的子文件夹。
示例:打开 Zip >(用户)文件夹 >(管理员)文件夹 >(桌面)文件夹 > file1.csv
我可以知道我应该在哪里更改为 .zip 只包含文件本身吗?
using (ZipFile zip = new ZipFile())
{
zip.Password = "password";
zip.AddFile("C:\Users\Admin\Desktop\File1.csv");
zip.Save("Encrypted_File1.zip");
}
我不确定如何更改 .AddFile
语句,因为其他任何地方都没有文件路径声明。
基于documentation,我相信你需要这样写:
using (ZipFile zip = new ZipFile())
{
zip.Password = "password";
zip.AddFile("C:\Users\Admin\Desktop\File1.csv", "Admin\Desktop\File1.csv");
zip.Save("Encrypted_File1.zip");
}
P.S。如果你正在处理很多文件并且你有一个共同的基本路径,你可以使用类似 Path.GetRelativePath
的东西来获取 in-zip 路径:
using (ZipFile zip = new ZipFile())
{
string commonBasePath = "C:\Users";
// for each file
string filePath = "C:\Users\Admin\Desktop\File1.csv";
string inZipPath = Path.GetRelativePath(commonBasePath, filePath);
zip.Password = "password";
zip.AddFile(filePath, inZipPath);
// done
// save
zip.Save("Encrypted_File1.zip");
}
我.zip
一个文件使用DotNetZip
,但里面包含实际文件路径的子文件夹。
示例:打开 Zip >(用户)文件夹 >(管理员)文件夹 >(桌面)文件夹 > file1.csv
我可以知道我应该在哪里更改为 .zip 只包含文件本身吗?
using (ZipFile zip = new ZipFile())
{
zip.Password = "password";
zip.AddFile("C:\Users\Admin\Desktop\File1.csv");
zip.Save("Encrypted_File1.zip");
}
我不确定如何更改 .AddFile
语句,因为其他任何地方都没有文件路径声明。
基于documentation,我相信你需要这样写:
using (ZipFile zip = new ZipFile())
{
zip.Password = "password";
zip.AddFile("C:\Users\Admin\Desktop\File1.csv", "Admin\Desktop\File1.csv");
zip.Save("Encrypted_File1.zip");
}
P.S。如果你正在处理很多文件并且你有一个共同的基本路径,你可以使用类似 Path.GetRelativePath
的东西来获取 in-zip 路径:
using (ZipFile zip = new ZipFile())
{
string commonBasePath = "C:\Users";
// for each file
string filePath = "C:\Users\Admin\Desktop\File1.csv";
string inZipPath = Path.GetRelativePath(commonBasePath, filePath);
zip.Password = "password";
zip.AddFile(filePath, inZipPath);
// done
// save
zip.Save("Encrypted_File1.zip");
}