Почему я не могу получить вывод PDF-файла из моего веб-API на сервере IIS при его развертывании? - PullRequest
0 голосов
/ 28 июня 2019

Веб API имеет этот метод;

public HttpResponseMessage GetReport()
{
     var data = Logic.GetReportAsByteArray(...);

     HttpResponseMessage response = new HttpResponseMessage();
     response.Content = new ByteArrayContent(data);
     response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
     response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
     response.Content.Headers.ContentDisposition.FileName = "filename.pdf";
     response.StatusCode = HttpStatusCode.OK;

     return response;
}  

Веб-клиент использует этот метод;

...

var request = new HttpRequestMessage(...)

HttpClient client = new HttpClient();
var response = await client.SendAsync(request);

var data = await response.Content.ReadAsByteArrayAsync();
return File(data, "application/pdf", "filename.pdf");

...  

Когда я работаю на локальном компьютере, я получаю файл PDF в качестве вывода через мой веб-клиент.И через Swagger я также могу получить вывод файла.Но при развертывании на сервере IIS через веб-клиент я получаю пустой pdf, а через Swagger я вообще не получаю файл, а в теле ответа только следующий:

 {
  "Version": {
    "_Major": 1,
    "_Minor": 1,
    "_Build": -1,
    "_Revision": -1
  },
  "Content": {
    "Headers": [
      {
        "Key": "Content-Type",
        "Value": [
          "application/pdf"
        ]
      },
      {
        "Key": "Content-Disposition",
        "Value": [
          "attachment; filename=filename.pdf"
        ]
      }
    ]
  },
  "StatusCode": 200,
  "ReasonPhrase": "OK",
  "Headers": [],
  "RequestMessage": null,
  "IsSuccessStatusCode": true
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...