AngularJs如何从ASP.MVC5传递参数下载文件
创始人
2024-10-27 11:30:12
0

要从ASP.NET MVC5传递参数下载文件,你需要使用AngularJS来发起HTTP请求并将参数传递给后端控制器。下面是一个解决方法的示例代码:

首先,在AngularJS控制器中定义一个函数来发起下载文件的请求,并将参数传递给后端控制器:

app.controller('DownloadController', function($scope, $http) {
  $scope.downloadFile = function(param) {
    $http({
      url: '/Download/DownloadFile',
      method: 'GET',
      params: { param: param },
      responseType: 'arraybuffer'
    }).then(function(response) {
      var data = new Blob([response.data], { type: response.headers('Content-Type') });
      var fileName = response.headers('Content-Disposition').split('filename=')[1];
      saveAs(data, fileName);
    });
  };
});

接下来,在后端控制器中处理下载文件的请求,并根据传递的参数生成文件:

public ActionResult DownloadFile(string param)
{
  // 根据参数生成文件
  byte[] fileData = GenerateFileData(param);
  string fileName = "example.pdf"; // 设置文件名

  // 返回文件流
  Response.Clear();
  Response.ContentType = "application/pdf";
  Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName);
  Response.BinaryWrite(fileData);
  Response.End();

  return new EmptyResult();
}

请注意,上述示例中的GenerateFileData方法用于根据传递的参数生成文件的字节数组。你需要根据自己的业务逻辑来实现此方法。

最后,你可以在前端HTML页面中调用downloadFile函数,并传递参数:


当点击按钮时,将会发起HTTP请求并下载生成的文件。

相关内容

热门资讯

透视黑科技!poker wor... 透视黑科技!poker world辅助,拱趴大菠萝有什么挂,攻略教程(有挂工具)1、上手简单,内置详...
透视辅助!wpk控制牌是真的吗... 透视辅助!wpk控制牌是真的吗,wpk辅助插件,微扑克教程(果然真的有挂)一、wpk控制牌是真的吗软...
透视代打!epoker透视底牌... 透视代打!epoker透视底牌,智星菠萝有挂吗,详细教程(有挂教程)1、用户打开应用后不用登录就可以...
透视辅助!wpk辅助插件,购买... 透视辅助!wpk辅助插件,购买的wpk辅助在哪里下载,可靠教程(原来真的是有挂)1、操作简单,无需注...
透视游戏!pokemmo辅助器... 透视游戏!pokemmo辅助器手机版下载,红龙poker辅助,微扑克教程(有挂细节)运pokemmo...
辅助透视!wpk德州局透视,w... 辅助透视!wpk德州局透视,wpk透视辅助下载,曝光教程(一贯有挂)1、完成wpk透视辅助下载的残局...
透视好牌!红龙poker作弊指... 透视好牌!红龙poker作弊指令,sohoo poker辅助,新2025教程(有挂攻略)1、打开软件...
透视实锤!wpk软件是正规的吗... 透视实锤!wpk软件是正规的吗,wpk俱乐部怎么作弊,微扑克教程(竟然是真的有挂);暗藏猫腻,小编详...
透视透视!大菠萝手游辅助,拱趴... 透视透视!大菠萝手游辅助,拱趴大菠萝万能挂图解,可靠技巧(有挂工具);1、超多福利:超高返利,海量正...
透视私人局!wpk透视怎么安装... 透视私人局!wpk透视怎么安装,wpk软件是正规的吗,透明挂教程(其实是真的有挂)1、每一步都需要思...