如何使用下载链接实现AntiForgeryToken:
@Html.ActionLink("download spreadsheet", "GetSpreadsheet", new { id = "123" })
我试图创建一个ajax请求,但无法下载文件,控制器中的操作如下所示:
return this.File(path, "application/zip", nomFic);
有什么想法吗?
在get
方法中使用antiforgerytoken
是不可能的。
get
方法只应用于服务器上的只读操作。如果您想执行只读操作以外的操作,那么,您应该使用POST方法。
@using (Html.BeginForm("GetSpreadsheet", FormMethod.Post, new { id = "123" }))
{
@Html.AntiForgeryToken()
<input type="submit" value="Download" />
...
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult GetSpreadsheet(int id)
{
...
}