2011-01-05 4 views
0

Я хотел бы попросить пользователя загрузить файл, сгенерировать его после его принятия и удалить файл после его передачи (если они принимают загрузку.)сгенерированный хостинг файлов в ASP.NET

Кто-нибудь знает острый или html-код для достижения чего-то подобного?

Спасибо.

+1

какой тип файла он ? –

+0

Это файл csv – user420667

ответ

1

Когда пользователь допускает загрузку (т. е нажмите на кнопку):

  1. Генерация CSV-файл и сохранить его во временную папку (служебные методы использования класса File, чтобы получить временный путь)

  2. Использование

    Response.ContentType = "текст/CSV"; Response.AppendHeader («Content-disposition», «attachment; filename = file.csv»);

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

  4. finally, удалите файл

+0

Это сработало, спасибо. – user420667

+0

На самом деле, когда я это делаю, я получаю остальную часть страницы как html, введенную в конце файла csv. Любые идеи, почему это так и как это исправить? Это похоже на то, что мне нужно, чтобы остановить отображение страницы и отправить ее в ответ ... – user420667

+0

Ну ... Я забыл сказать вам, что ответ Response.End() в блоке finally;) –

1

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

public void ProcessRequest(HttpContext context) 
{ 
    // example for the csv 
    context.Response.ContentType = "text/html"; 
    // what is the file name that the user see to save 
    context.Response.AppendHeader("Content-disposition", "attachment; filename=" + cFileNameToShowAndDownload); 

    context.Response.Write("here is your text to send"); 

    context.Response.Flush(); 
} 
+0

Обратите внимание, что вы можете вернуть ответ файла на регулярный запрос GET или POST на страницу ASPX, если вы убедитесь, что еще не обработаны элементы управления (Request.Clear и CompleteRequest - http://msdn.microsoft.com/) en-us/library/f417efst.aspx) –

Смежные вопросы