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

相关内容

热门资讯

透视挂透视"wepo... 透视挂透视"wepoker私人定制透视"详细辅助揭秘教程(亲友圈有用攻略);最新版2024是一款经典...
透视线上"wepok... 1、透视线上"wepoker可以开透视吗"详细辅助揭秘攻略(透视脚本免费app教程);详细教程。2、...
透视免费"福建大菠萝... 透视免费"福建大菠萝万能辅助器"详细辅助分享教程(可以看底牌透视)是一款可以让一直输的玩家,快速成为...
透视app"wepo... 《透视app"wepoker黑侠辅助器"详细辅助软件教程(如何设置透视技巧)》 wepoker黑侠辅...
透视游戏"aapok... 透视游戏"aapoker插件下载"详细辅助AI教程(手机版透视脚本软件);1.aapoker插件下载...
透视总结"hhpok... 1、透视总结"hhpoker德州透视"详细辅助玩家教程(辅助软件视频技巧)。2、hhpoker德州透...
透视脚本"wepok... 您好,wepoker辅助器最新版本更新内容这款游戏可以开挂的,确实是有挂的,需要了解加微【13670...
透视有挂"智星德州插... 透视有挂"智星德州插件最新版本更新内容详解"详细辅助解密教程(脚本下载辅助)关于智星德州插件最新版本...
透视辅助"哈糖大菠萝... 1、透视辅助"哈糖大菠萝怎么开挂"详细辅助扑克教程(可以下载游戏软件);详细教程。2、哈糖大菠萝怎么...
透视好友房"poke... 您好,pokemmo手机版修改器这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】...