Это не решается с помощью ASP. NET загрузки файла с сервера (6 ответов)
Я пытаюсь перенаправить в файл PDF используя Reponse.Redirect (pdfurl). Веб-приложение использует ASP. NET, JQuery, C# и AJAX Toolkit.
Это работает для большинства PDF-файлов, создаваемых приложением, однако для определенных страниц - не перенаправляется и на консоли я получаю ошибку
Не удалось загрузить ресурс: net :: ERR_EMPTY_RESPONSE .
Единственное Отличие от PDF-файлов, которые работают и те, которые не кажутся по размеру. Те, которые работают, составляют приблизительно 2,5 КБ, а те, которые не имеют 4,6 КБ.
Перенаправление работает, когда я запускаю приложение локально, однако я получаю сообщение об ошибке при работе по сети. Я попытался увеличить все тайм-ауты, которые вижу, но все еще получаю сообщение об ошибке.
Я посмотрел ASP. NET файл загрузки с сервера и изменил свой код на следующие
<%@ WebHandler Language="C#" Class="DownLoadFile" %>
using System;
using System.Web;
using System.IO;
public class DownLoadFile : IHttpHandler {
public void ProcessRequest (HttpContext context)
{
System.Web.HttpRequest request = System.Web.HttpContext.Current.Request;
string yourVariableValue = request.QueryString["yourVariable"];
if (!string.IsNullOrEmpty(yourVariableValue))
{
HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "application/PDF";
response.AddHeader("Content-Disposition",
"attachment; filename=" + Path.GetFileName(yourVariableValue) + ";");
response.Redirect(yourVariableValue);
response.Flush();
response.End();
}
}
public bool IsReusable {
get {
return false;
}
}
}
Я вызываю это как -
string handlerUrl = @"~/DownLoadFile.ashx?yourVariable=" + theReportName;
Response.Redirect(handlerUrl);
Я все еще получаю ошибку Не удалось загрузить ресурс: net :: ERR_EMPTY_RESPONSE. для некоторых больших pdfs.
Пример URL-адреса pdf:
"~ / Secure / GraphBin / Reports / yei3k3msbctxeo3som4w0jse / 297f489d-7a41-4098-883e-264b82e61d8e / Ежеквартальный отчет за квартал 2013 года. pdf "
Кто-нибудь может мне помочь, пожалуйста?
Спасибо
ОБНОВЛЕНИЕ
Я изменил перенаправление на aspx страницы, но все равно получена та же ошибка!
Может быть, я пропустил проблему тайм-аута?
Я увеличил тайм-аут выполнения в своем файле web.config, но безрезультатно.
<httpRuntime maxRequestLength="2000000000" executionTimeout="999999" />