提问者:小点点

如何在下载链接中实现AntiForgeryToken


如何使用下载链接实现AntiForgeryToken:

@Html.ActionLink("download spreadsheet", "GetSpreadsheet", new { id = "123" })

我试图创建一个ajax请求,但无法下载文件,控制器中的操作如下所示:

        return this.File(path, "application/zip", nomFic);

有什么想法吗?


共1个答案

匿名用户

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)
{
    ...
}