Я пытаюсь создать обработчик файлов для пользователей, чтобы загружать файлы, когда их имена файлов нажимаются на веб-странице. Я реализовал это несколько раз без проблем, но в настоящее время я получаю сообщение об ошибке, с которым я не могу разобраться.C# ASP. NET Inline file download handler
Код:
protected void btnViewFile_Click(object sender, EventArgs e)
{
var btnViewFile = sender as LinkButton;
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + btnViewFile.CommandArgument.ToString());
Response.WriteFile(Server.MapPath(btnViewFile.CommandArgument));
Response.End();
}
Если я смотрю на консоли браузера, я вижу:
Uncaught Sys.WebForms.PageRequestManagerParserErrorException: Sys.WebForms.PageRequestManagerParserErrorException: Сообщение, полученное с сервера не может быть проанализирован.
В коде нет исключений, запрошенный файл преобразуется в правильный полный путь; и я пробовал несколько разных вещей - очистка заголовков вручную, очистка до окончания, предоставление более явного заголовка контента, использование AddHeader вместо AppendHeader, использование TransmitFile, а не WriteFile, и совсем немного больше.
Любые идеи?
Вы проверили [PageRequestManagerParserErrorException: сообщение, полученное с сервера, невозможно разобрать] (http://stackoverflow.com/questions/11221033/sys-webforms-pagerequestmanagerparsererrorexception-the-message-received-from-t)? –
На самом деле я не вижу, чтобы его бросали куда угодно. – jacob21
Ваша проблема с некоторым кодом на стороне клиента. У вас есть код на стороне клиента? – mason