Вставьте изображения в уже созданную папку внутри почтового индекса - PullRequest
0 голосов
/ 13 января 2019

Мне нужно создать сжатый файл, содержащий текстовый файл с расширением «.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

В данный момент я застрял после того, как создал папку внутри почтового индекса, потому что изображение находится вне папки, и оно должно быть сгенерировано внутри него.

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/"));
            }
        }
    }
}
...