У меня есть ссылка на моей странице, клик которой я пытаюсь создать PDF-документ, а затем показать приглашение "Открыть-Сохранить" в браузере.
Мой HTML (компонент responsejs) имеет код ниже, где onclick
вызывает функцию _getMyDocument
, которая затем вызывает метод Webapi.
<div className="row">
<a href="#" onClick={this._getMyDocument.bind(this)}>Test Link</a>
</div>
_getMyDocument(e) {
GetMyDocument(this.props.mydata).then(()=> {
}).catch(error=> {
});
Мой контроллер имеет код ниже
[HttpPost]
[Route("Generate/Report")]
public IHttpActionResult GetMyReport(MyData myData)
{
byte[] myDoc = MyBusinessObject.GenerateMyReport(myData);
var result = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new ByteArrayContent(myDoc)
};
result.Content.Headers.ContentDisposition =
new ContentDispositionHeaderValue("attachment")
{
FileName = "MyDocument.pdf"
};
result.Content.Headers.ContentType =
new MediaTypeHeaderValue("application/octet-stream");
var response = ResponseMessage(result);
return response;
}
В настоящий момент весь код выполняется, но я не получаю подсказку загрузки файла PDF. Что я здесь делаю неправильно?
Объект ответа при успешном выполнении из ajax-вызовов lokks, как показано ниже