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 с обновлениями (не работает). Есть какие-то идеи?
Файлы xml и txt типа создаются без проблем.
Этот факт для меня показался странным. Было обнаружено, что проблема заключалась в корпоративном антивирусе Касперский. Защита от программ-шифровальщиков мешала сохранять изображения, добавление в исключение программы, либо отключение правила помогут.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Как разбить строку на C# на две части по запятой во второй строке?
есть задача получить текст с тела письма, какими способами не пробую результат тот же, получаю htmlработаю через Imap
Проблема заключается в корректности составления массива категорий и под категорийСобственно сам код: