ZipFile.CreateEntryFromFile文件存储为扩展名,但要在压缩时添加扩展名

我的班级目前通过将文件添加到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是a Dictionary,Value是没有文件扩展名的文件路径,因为它们存储在服务器上而没有扩展名(假设它们都是.pdf)


有什么方法可以将.pdf添加到文件中,因为它们以zip格式存储?这样,当解压缩zip文件夹时,文件是否具有扩展名?


注意:我的假设是,如果我只是将.pdf添加到filePath,则在尝试添加.pdf时将不是有效路径CreateEntryFromFile


暮色呼如
浏览 317回答 1
1回答

炎炎设计

鉴于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");        }    }}或者,首先更改构建字典的任何代码,以将扩展名包括在字典键中。(根据您将字典用于什么目的,或者您是否真的需要字典,这可能不合适,也可能不合适。)
打开App,查看更多内容
随时随地看视频慕课网APP