只有一种方法可以在 mvc 视图中导出文件吗?我使用 location.href,但 url 参数太长



在我的控制器中,我返回一个文件,没问题。但是在视图中,我使用location.href=url,有时如果url参数太长,我无法下载文件。网址的最大长度是 1024B 吗?如果问题url参数太长,如何解决问题?我必须更改视图代码或更改 IIS 配置吗?

MVC 视图功能

  //studentName may be very long
  function GetFile(){
      var searchCondiction = {
                studentName: $("#studentName").val(),
                startDate: $("#UploadYear").val(),
            };
     location.href = "@Url.Action("GetFile", "Student")?" + $.param(searchCondiction );
    }

MVC 控制器功能

public ActionResult GetFile(string studentName,DateTime startDate)
{
//Product file according to  studentName and startDate
...
//Return file
Return File(Server.MapPath("~/App_Data/UserA/a.png"),"imge/png");
}

您需要使网址更短。 一种方法是存储参数服务器端,然后返回一个密钥。

最新更新