【发布时间】:2018-11-12 16:10:51
【问题描述】:
我尝试使用 ASP MVC 模型通过 ajax 调用在按钮单击时下载 pdf 文件 当我点击我的按钮时,什么也没有发生,但是当我在 url 上添加控制器方法时,我的文件被下载了。 我只想在单击按钮时下载它
JS:
$('#PrintTimeSheet').click(function () {
$.ajax({
type: 'POST',
url: "/Home/DownloadFile",
success: function (response) {
}
});
});
控制器:
public FileResult DownloadFile()
{
Document PDF = new Document();
MemoryStream memoryStream = new MemoryStream();
PdfWriter writer = PdfWriter.GetInstance(PDF, memoryStream);
PDF.Open();
PDF.Add(new Paragraph("Something"));
PDF.Close();
byte[] bytes = memoryStream.ToArray();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "attachment;filename=Receipt-test.pdf");
Response.BinaryWrite(memoryStream.ToArray());
return File(bytes, "application/pdf");
}
【问题讨论】:
-
创建一个链接(如果你想要的话,可以把它设计成一个按钮)。
-
“仅在按钮上单击仅 JS”是什么意思?如果您实际上是在该操作方法中创建该 pdf 文件,您如何摆脱服务器端的操作?
-
我不能使用链接,因为在 ajax 调用之前我有其他条件和关于 JS 的说明
标签: ajax asp.net-mvc