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请求并下载生成的文件。

相关内容

热门资讯

分辨真假"微乐小程序... 分辨真假"微乐小程序辅助教程"开挂(透视)辅助安装(一贯是有挂的)-哔哩哔哩;微乐小程序辅助教程最新...
今日头条!蜀山四川破解版安卓版... 今日头条!蜀山四川破解版安卓版,决战卡五星辅助,揭秘攻略(新版有挂)-哔哩哔哩;无需打开直接搜索薇:...
终于懂了"福建相约十... 终于懂了"福建相约十三张破解"开挂(透视)辅助软件(一直确实有挂的)-哔哩哔哩;最新版2026是一款...
揭秘攻略!微信超级3+1辅助,... 揭秘攻略!微信超级3+1辅助,友友联盟有辅助吗,普及教程(有挂技巧)-哔哩哔哩;无需打开直接搜索加(...
透视挂"新天道辅助器... 透视挂"新天道辅助器怎么设置"开挂(透视)辅助脚本(原来确实是有挂的)-哔哩哔哩;亲真的是有正版授权...
总算了解!微信小程序加速脚本,... >>您好:雀友会广东潮汕辅助软件确实是有挂的,很多玩家在这款雀友会广东潮汕辅助软件游戏中打牌都会发现...
我来教大家"皮皮跑子... 我来教大家"皮皮跑子胡子修改器"开挂(透视)辅助安装(一贯确实有挂)-哔哩哔哩相信很多朋友都在电脑上...
透视辅助!福建兄弟13水软件安... 透视辅助!福建兄弟13水软件安装,wepoker公共底牌,插件教程(有挂方式)-哔哩哔哩;无需打开直...
透视安卓版"填大坑辅... 透视安卓版"填大坑辅助视频"开挂(透视)辅助平台(果然确实是有挂的)-哔哩哔哩;1、完成填大坑辅助视...
普及知识!大唐撸麻雀作弊码,小... 普及知识!大唐撸麻雀作弊码,小程序牵手跑得有开挂吗,透明教程(有挂猫腻)-哔哩哔哩 了解更多开挂安装...