为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
暮色呼如 2021-04-03 19:15:07
我的班级目前通过将文件添加到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

1 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

鉴于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");

        }

    }

}

或者,首先更改构建字典的任何代码,以将扩展名包括在字典键中。(根据您将字典用于什么目的,或者您是否真的需要字典,这可能不合适,也可能不合适。)


查看完整回答
反对 回复 2021-04-17

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号