将图像插入zip内已创建的文件夹中

时间:2019-01-13 16:39:32

标签: c# zip

我需要创建一个压缩文件,其中包含一个扩展名为“ .meta”的文本文件以及一个以当前日期命名的文件夹。在文件夹中,我必须插入图像。

在文本文件(.meta)中,我必须使用以下格式为zip文件中的每个图像生成一行:

  • ID(由朱利安格式的当前日期(YYJJJ)加上连续的5位数字组成,该数字不能整天重复。
  • 图像创建日期
  • zip文件中的图像路由

例如:

ID         | Image Creation Date | Image route
-----------+---------------------+----------------------
1102700001 | 2009/02/25          | monday/image1.jpeg
1102700002 | 2009/02/25          | monday/image2.png

在zip内创建文件夹之后,我目前陷入困境,因为图像位于文件夹外部,应该在文件夹内部生成。

class Program
{
    static void Main(string[] args)
    {
        string filesPath = @"C:\Documents\Visual Studio 2015\Projects\ImageZip\images";
        string zipPath = @"C:\Documents\Visual Studio 2015\Projects\ImageZip\first.zip";


        ZipFile.CreateFromDirectory(filesPath, zipPath);

        using (FileStream zipToOpen = new FileStream(@"C:\Documents\Visual Studio 2015\Projects\ImageZip\first.zip", FileMode.Open))
        {
            using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
            {
                // create editable meta file in zip
                ZipArchiveEntry metaEntry = archive.CreateEntry("Readme.meta");
                using (StreamWriter writer = new StreamWriter(metaEntry.Open()))
                {
                    writer.WriteLine("Information about this package.");
                    writer.WriteLine("========================");
                }
                // create new folder in zip
                ZipArchiveEntry newFolder = archive.CreateEntry(DateTime.Now.ToString("dddd/"));
            }
        }
    }
}

0 个答案:

没有答案