我在控制器中有下一个动作:
[HttpPost]
public ActionResult LoadPdf(Guid? staffId, Guid? stageId, TaskFilterViewModel filter)
{
// my horrible piece of s***
return File(pdf.ToArray(), "application/pdf", filename);
}
在客户端,我有JSON对象,我将其作为参数传递给constroller中的操作(所有操作都具有相同的签名)。 但是如果我需要下载文件,如何在ajax中生成。我无法使用简单的重定向来执行此操作,因为我需要传递JSON 当我只需要更新页面上的内容时,这是一个简单的功能:
function applyFilter() {
var data = getFilterData();
var dataStr = JSON.stringify(data);
var url = 'some url';
$.ajax({
url: url,
type: 'POST',
data: dataStr,
contentType: "application/json;charset=utf-8",
success: function (response) {},
error: function () {},
timeout: 15000
});
}
但如何将其用于文件下载?