Как вернуть файл для сохранения пользователем в ASP.NET Приложение?

#c# #asp.net #download

#c# #asp.net #Скачать

Вопрос:

У меня есть один элемент управления c #, и я создаю образ во время выполнения. Проблема здесь в том, как мне открыть диалоговое окно файла, когда пользователь создает кнопку отправки.

Я пробовал content-disposition, но это не работает : (


Вот сценарий: — У меня есть один aspx-файл, в котором у меня есть один файл управления ascx.

  • В cs-файле этого управляющего файла я выполняю некоторый рендеринг и создаю одно изображение, уникальное только для этого пользователя. После создания этого изображения я хочу отобразить его и загрузить

  • У меня есть одна кнопка «загрузить», объявленная в html-файле элемента управления, и указан один метод в событии onclick этой кнопки

Функция, указанная в onclick, записана в cs-файле этого элемента управления. это заключается в следующем:

 public void DownloadPNG(object sender, EventArgs e)
{
    Response.Clear();
    Response.ContentType = "text/png";
    Response.AddHeader("content-disposition", "attachment; filename=hello.png");
    Response.Write("...");
    Response.End();
}
  

Я все делаю правильно?. Вызовет ли это эту функцию? Правильна ли эта функция?

Комментарии:

1. Это не очень понятно. Что вы пробовали в расположении содержимого. Что происходит, может быть, небольшой пример кода предпринятой вами попытки.

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

3. @Kyle: еще четыре пробела, иначе избавьтесь от «-» для маркеров

4. Странно, блоки кода, которые появляются после маркера, отображаются некорректно.

5. @John да, это то, что я хочу сделать, но я использую c # html javascript.

Ответ №1:

Попробуйте использовать Response.WriteFile или Response.TransmitFile или даже Response.BinaryWrite .

Комментарии:

1. Да, я смог загрузить файл при загрузке страницы с помощью Response. Запись в файл. Спасибо

Ответ №2:

Вы действительно не предоставили никакой информации, чтобы понять, что вы делаете.

Однако, если вы хотите выполнить загрузку содержимого в виде файла из ASP.NET веб-страница, вот статья, которую я написал, в которой показано, как именно это сделать.