У меня есть небольшой C# веб-приложение, которое считывает PDF хранится в виде данных BLOB в таблице SQL и служит его в браузере для пользователя:C# HttpResponse BinaryWrite PDF работает локально, а не на сервере
protected void Page_Load(object sender, EventArgs e)
{
byte[] data = GetData(Request.QueryString["companyNo"].ToString(), Request.QueryString["invoiceNo"].ToString());
if (data != null)
{
Response.Buffer = true;
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", data.Length.ToString());
Response.BinaryWrite(data);
Response.End();
}
Эта работа прекрасна локально, но когда я загружаю ее на свой тестовый сервер, я ничего не получаю.
Я захватил трафик и вижу локально, когда вы вызываете URL-адрес, он выполняет HTTP POST, но на веб-сервере выполняет GET и ничего не возвращает.
локальный запрос заголовка
Запрос POST/aff86f6621ed44b2910d856a19d0c8d1/browserLinkSignalR/прервать? Транспортного = longPolling & connectionToken = AQAAANCMnd8BFdERjHoAwE% 2FCl% 2BsBAAAAdyAqdSoaME6giXw9SxAo3gAAAAACAAAAAAADZgAAwAAAABAAAABjumookEDHXn5Jz9JxDPjJAAAAAASAAACgAAAAEAAAAEzCAsIk2T% 2Fm7voBY1V% 2BeyooAAAAfF2pmaJ8A2WzK5JOx8QqKzYRYxFjyclkE3paKmoOPCXkIniBsjOhpxQAAAC8VGgsefZk5zRmUdh58GRu6xYAWQ% 3D% 3D & requestUrl = HTTP% 3A% 2F% 2Flocalhost% 3A64169% 2FDefault.aspx & browserName = Internet + Explorer & userAgent = Mozilla% 2F5
Принять текстовые/простые, /; q = 0,01
Приложение типа контента/x-www-form-urlencoded; кодировка = UTF-8
Referer http://localhost:64169/Default.aspx
Accept-Language ен-GB
Accept-Encoding GZIP, выкачать
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7,0; XS-cc6DYWKA8sA; rB12Ke; с.в.: 11,0), как Gecko
Хост локальный: 65187
Content-Length: 0
DNT 1 Connection Keep-Alive Cache-Control не-кэш
Запрос сервера Заголовок
Запрос GET /MyApp/Default.aspx?companyNo=50222 & InvoiceNo = 50497557 HTTP/1.1
Принять изображение/JPEG, применение/X-MS-приложений, изображений/GIF, приложение/XAML + XML, образ/pjpeg, применение/X-MS-XBAP, /
Подтвердить язык ru-RU
User-Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/6,0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729)
Accept-Encoding GZIP, выкачать
Хост TestServer
Connection Keep-Alive
Я звоню тот же URL каждый раз (за исключением "TestServer" вместо " . локальный»есть некоторые конфигурации я пропускаю
Поскольку ваш ответ показывает Content-Length 0, кажется, что функция GetData не возвращает никакого байта. Укажите точку отладки if (data! = Null) и проверьте значение для данных. – Mitesh