Скачать изображение ASHX при клике - PullRequest
1 голос
/ 21 марта 2011

Я использую ashx для обслуживания изображений из базы данных, есть ли у пользователя возможность щелкнуть ссылку, которая позволяет ему загрузить файл на компьютер.(IE показывает диалог сохранения) Как вы скачиваете файл.Это возможно сделать?

Ответы [ 2 ]

6 голосов
/ 21 марта 2011

Если вы хотите, чтобы он запросил сохранение, убедитесь, что вы добавили следующую строку при создании ответа:

context.Response.AppendHeader("Content-Disposition",
    "attachment;filename=" + filename);

Это заставит браузер обрабатывать его как вложение и запрашивать в диалоговом окне сохранения.

РЕДАКТИРОВАТЬ: На основе вашего комментария убедитесь, что вы правильно строите свой ответ:

// set attachment header like above
// then you need to get your file in byte[] form
byte[] dataYouWantToServeUp = GetData();
// you can set content type as well
yourHttpContext.Response.ContentType = "image/jpg";
// serve up the response
yourHttpContext.Response.BinaryWrite(dataYouWantToServeUp);
0 голосов
/ 21 марта 2011

Я думаю, что если навигатор может открыть тип файла, который вы пытаетесь получить, он откроет его без запроса. Если в данный момент файл имеет формат zip, навигатор не сможет открыть его и попросит загрузить его.

...