Как удалить файл?

xaly
Дата: 08.04.2010 03:51:09
На странице находится ImageButton,
на событие OnClick отрабатывает процедура, которая создает .cls файл на сервере, а потом происходит Response.Redirect на этот файл.
Необходимо после того как у клиента открылся этот файлик, удалить его на сервере.
Вопрос в том как и в какой момент это лучше сделать.
Пробовала разу после Redirect-а, не удаляется и ошибок не выдает, в Global.asax на Session_End, тоже самое. Подскажите, как это граммотно сделать.
Удаляла так:
string phpath = (Server.MapPath(".") + @"\Reports\" + "Rep.xls").ToString();
System.IO.FileInfo f = new System.IO.FileInfo(@phpath);
f.Delete();
n_string
Дата: 08.04.2010 09:42:18
1.Если клиент случайно закроет окно?
2. Если нет прав на удаление?
 public static void DeleteFileFromFileSystem(string filename)
        {
            if (filename != null)
            {
                if (File.Exists(filename))
                    File.Delete(filename);
            }
        }
Яростный Меч
Дата: 08.04.2010 09:46:43
xaly,

а попробуйте после генерации .xls не сохранять его в файл, а записывать с помощью Response.BinaryWrite в выходной поток. И редирект не понадобится.
Ещё надо выставить правильный content type и в конце сделать Response.End
МСУ
Дата: 08.04.2010 09:52:19
n_string
if (filename != null)


Сильно :)
n_string
Дата: 08.04.2010 11:44:58
МСУ
Сильно :)
Если вероятность есть, не помешает.
IvanN
Дата: 08.04.2010 11:52:03
Яростный Меч
xaly,

а попробуйте после генерации .xls не сохранять его в файл, а записывать с помощью Response.BinaryWrite в выходной поток. И редирект не понадобится.
Ещё надо выставить правильный content type и в конце сделать Response.End

+1
МСУ
Дата: 08.04.2010 11:55:43
n_string
МСУ
Сильно :)
Если вероятность есть, не помешает.

А если filename == "" или filename == "хрень на постном масле"?

P.S. File.Exists - вот главная проверка на "вероятность".
xaly
Дата: 09.04.2010 03:41:00
Яростный Меч, с Response.BinaryWrite, я пробовала, там кнопка на update panel, а Response, почему-то с контролами в update panel работать не хочет.
n-string
Дата: 09.04.2010 16:52:16
Vot poætomu mozet i fail ne udaliaetsia, uberite UpdatePanel, hotia bi dlia testirovania.