Это должен быть простой ответ, но, поскольку я новичок в MVC, я еще не до конца знаю свой путь: я хочу ответить пользователю, переходящему по ссылке, отправив PDF в браузер.
- У меня есть строка идентификаторов на странице, которую нужно отправить обратно в метод, чтобы он мог генерировать запрошенное содержимое.
- Я могу создать PDF как поток памяти, доступный для контроллера.
- Я хочу, чтобы пользователь оставался на той же странице, на которой он щелкнул ссылку, и получил диалоговое окно "Сохранить в ...".
Если предположить, что мой контроллер называется Счет-фактура , а метод - DownloadInvoice , что я должен поставить на свое представление, чтобы отправить идентификаторы обратно (строка), и как мне ответить на это постбэк
Могу ли я просто ответить этим
return new FileStreamResult(generatedInvoice.Stream, "application/pdf");
Или мне нужно направить зрителя к другому виду, который имеет полный
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=labtest.pdf");
Response.Buffer = true;
Model.Stream.WriteTo(Response.OutputStream);
Response.End();