Я создаю веб-страницу, которая позволит пользователю загружать отчет в формате PDF с использованием ABCpdf.Но, читая документацию, я вижу только варианты doc.Save("test.pdf")
(который сохраняет файл на сервере, на котором размещено приложение) или 'HttpContext.Current.ApplicationInstance.CompleteRequest();'
(который сохраняет на стороне клиента, что я и хочу, ноHttpContext.Current недоступен в .NET Core.
У меня есть бинтовое решение с doc.Save()
, я бы сохранил файл на сервере, а затем отправил бы ссылку на представление, которое затем загрузит егос сервера. Потенциальный риск, о котором я могу подумать, это убедиться в том, что после очистки на сервере началась «очистка».
Существует ли альтернативный / .NET Core эквивалент для HttpContext.Current, а также HttpResponse?
Вот код, который я хотел бы заставить работать:
byte[] theData = doc.GetData();
Response.ClearHeaders();
Response.ClearContent();
Response.Expires = -1000;
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", theData.Length.ToString());
Response.AddHeader("content-disposition", "attachment; filename=test.pdf");
Response.BinaryWrite(theData);
HttpContext.Current.ApplicationInstance.CompleteRequest();
Ошибки, которые я получаю (не многословно)
'HttpResponse' does not contain a definition for 'ClearHeaders'
'HttpResponse' does not contain a definition for 'ClearContent'
'HttpResponse' does not contain a definition for 'Expires'
'HttpResponse' does not contain a definition for 'AddHeader'
'HttpResponse' does not contain a definition for 'BinaryWrite'
'HttpContext' does not contain a definition for 'Current'