我的班级目前通过
将文件添加到zip文件夹using (var zip = ZipFile.Open(zipPath, ZipArchiveMode.Create)) {
foreach (var filePath in files) {
if (File.Exists(filePath.Value)) {
zip.CreateEntryFromFile(filePath.Value, filePath.Key);
}
}
}
files
是Dictionary
,Value
是没有文件扩展名的文件路径,因为它们存储在没有扩展名的服务器上(假设它们都是.pdfs)
有没有办法可以将.pdf添加到文件中,因为它们存储在zip中?因此,当解压缩zip文件夹时,文件有扩展名?
注意:我的假设是,如果我只是将.pdf添加到filePath
,那么在尝试CreateEntryFromFile
答案 0 :(得分:2)
鉴于CreateEntryFromFile
具有文件名和条目名称的单独参数,我希望您能够修改第二个参数:
using (var zip = ZipFile.Open(zipPath, ZipArchiveMode.Create))
{
foreach (var filePath in files)
{
if (File.Exists(filePath.Value))
{
// Note the second argument
zip.CreateEntryFromFile(filePath.Value, filePath.Key + ".pdf");
}
}
}
或者,首先更改构建字典的任何代码,以在字典键中包含扩展名。 (根据您使用字典的其他内容,或者您是否真的需要字典,这可能适用也可能不适用。)