Как проверить, используется ли файл перед удалением этого файла.
На самом деле я хочу скопировать файл из одной папки в другую,но перед копированием файла я должен проверить,существует ли тот же файл в папке назначения, если он существует, сначала я должен удалить этот файл, а затем скопировать новый файл в папку назначения.
но я получаю несанкционированное исключение на сервере.
я удаляю файл, когда он используется, но я не знаю точно, что происходит.
строковое имя файла = "file1.txt";
строка filename1 = "file1Copy.txt";
string filesource = сервер.MapPath ("~/Lucky/") + имя файла;
строка destinationFile = сервер.MapPath ("~/LuckyCopy/") + filename1;
если (системы.ИО.Файл.Существует(destinationFile))
{
Системы.ИО.Файл.SetAttributes(destinationFile, FileAttributes.Обычный);
Системы.ИО.Файл.Удалить(destinationFile);
}
Системы.ИО.Файл.Copy (filesource, destinationFile, true);
Системы.ИО.Файл.SetAttributes(destinationFile, FileAttributes.Обычный);
Что я уже пробовал:
я пробовал как
string filename = "file1.txt"; string filename1 = "file1Copy.txt"; string filesource = Server.MapPath("~/Lucky/") + filename; string destinationFile = Server.MapPath("~/LuckyCopy/") + filename1; if (System.IO.File.Exists(destinationFile)) { System.IO.File.SetAttributes(destinationFile, FileAttributes.Normal); System.IO.File.Delete(destinationFile); } System.IO.File.Copy(filesource, destinationFile, true); System.IO.File.SetAttributes(destinationFile, FileAttributes.Normal);
Soner Gönül
На какой линии вы получаете это исключение? Кстати, что такое полное исключение?
Member 12363094
не знаю, в локальной системе работает нормально, но на сервере не работает.
Доступ к пути есть destinationFile\filename1.txt отрицал.
Описание: необработанное исключение возникло во время выполнения текущего веб-запроса.
F-ES Sitecore
Учетная запись, под которой работает ваш код (анонимный пользователь), вероятно, не имеет прав на удаление файла. Измените права на папку, чтобы анонимная учетная запись имела права на удаление, или измените анонимного пользователя на пользователя с необходимыми разрешениями.
Atlapure Ambrish
Проверили, доступна ли папка/файл только для чтения на сервере? если это так, просто удалите флаг только для чтения из свойств папки/файла и посмотрите, работает ли он.