我的要求是每当单击图像时,都应在浏览器上打开 PDF。我正在使用 Jquery ajax [POST call] 来调用 ASP.NET MVC 端,并在响应中返回一个文件。jquery 端需要 POST,因为我需要将大量数据从客户端传递到服务器。
HTML部分:
<span data-id='printSettings' title='Generate PDF' class="preferenceSettings"></span>
JS 部分:当点击 Generate PDF 图标时触发。
var textToSend = $('.microChartTable', self.element)[0];
var dataToSend = { htmlContent: textToSend.outerHTML };
$.ajax({
url: "/EADashboard/ConvertToPDF",
data: JSON.stringify(dataToSend),
type: 'POST',
contentType: 'application/json',
success: function (data) {
} // -- success ends here
});
ASP.NET 端:在我的控制器中,我有以下代码:
[HttpPost]
public FileResult ConvertToPDF(HtmContent content)
{
string fileName = Server.MapPath("~/SeedData/data.pdf");
string contentType = "application/pdf";
return new FilePathResult(fileName, contentType);
}
现在 PDF 生成代码是正确的,只是 PDF 文件没有在浏览器端打开。我看过使用 JSON 和 MVC 将 PDF 返回到浏览器的帖子?但由于没有提供解决方案,我再次发布。谁能让我知道如何实现这一目标?
谢谢