UnauthorizedAccessException при создании файла

118
08 августа 2019, 03:50
string str1 = Path.Combine(Constants.TEMPFOLDER, Guid.NewGuid().ToString());
  Directory.CreateDirectory(str1);
  try
  {
    using (MemoryStream memoryStream = new MemoryStream(File.ReadAllBytes(zipFilePath)))
    {
      using (ZipInputStream zipStream = new ZipInputStream((Stream) memoryStream))
      {
        ZipEntry nextEntry;
        while ((nextEntry = zipStream.GetNextEntry()) != null)
        {
          string directoryName = Path.GetDirectoryName(nextEntry.Name);
          string str2 = Path.Combine(str1, directoryName);
          string fileName = Path.GetFileName(nextEntry.Name);
          string path = Path.Combine(str2, fileName);
          if (directoryName.Length > 0)
            Directory.CreateDirectory(str2);
          if (fileName != string.Empty)
          {
            using (FileStream fileStream = File.Create(path))
              formTE.CopyZipEntryToStream(zipStream, (Stream) fileStream);
          }
        }
        zipStream.Close();
      }
      memoryStream.Close();
    }
  }
  catch (Exception ex)
  {
    Thread.Sleep(500);
    Directory.Delete(str1);
    throw new Exception("There is an error during unzipping file");
  }
  return str1;

Constants.TEMPFOLDER - Папка "Мои документы" текущего пользователя. Ошибка происходит на строкеusing (FileStream fileStream = File.Create(path)), конкретно при создании файла. На папку стоит полный доступ для ВСЕХ пользователей. Программа не работает под админом (исключается, что нет прав). Файлы xml и txt типа создаются без проблем. Ошибка происходит при создании файла с расширением jpg. Путь такой существует.

Особенность заключается в том, что код работал 3 месяца назад. Имеется подозрение, что все дело в обновлениях. И этот код работает на 2 компьютерах из 3. На третьем компьютере всегда устанавливаются обновления Windows. Тесты проводились на Windows 8.1 (работает), Windows 7 SP1 без обновлений (работает), Windows 7 с обновлениями (не работает). Есть какие-то идеи?

Answer 1

Файлы xml и txt типа создаются без проблем.

Этот факт для меня показался странным. Было обнаружено, что проблема заключалась в корпоративном антивирусе Касперский. Защита от программ-шифровальщиков мешала сохранять изображения, добавление в исключение программы, либо отключение правила помогут.

READ ALSO
Разбить строку на две части в C#

Разбить строку на две части в C#

Как разбить строку на C# на две части по запятой во второй строке?

140
Получения текста с email письма

Получения текста с email письма

есть задача получить текст с тела письма, какими способами не пробую результат тот же, получаю htmlработаю через Imap

147
Проблема в дереве массива категорий и под категорий

Проблема в дереве массива категорий и под категорий

Проблема заключается в корректности составления массива категорий и под категорийСобственно сам код:

104