当前位置: 首页 > 面试题库 >

从Angular中的服务器下载文本/ csv内容作为文件

宇文念
2023-03-14
问题内容

我正在尝试csv从node.js服务器流式传输文件。服务器部分非常简单:

server.get('/orders' function(req, res) {
  res.setHeader('content-type', 'text/csv');
  res.setHeader('content-disposition', 'attachment; filename='orders.csv');
  return orders.pipe(res); // assuming orders is a csv file readable stream (doesn't have to be a stream, can be a normal response)
}

在我的角度控制器中,我正在尝试做这样的事情

$scope.csv = function() {
    $http({method: 'GET', url: '/orders'});
};

ng-click在我看来,单击按钮时会调用此函数:

<button ng-click="csv()">.csv</button>

我查看了有关从Angular服务器中下载文件的其他答案,但没有找到适合我的方法。有一种常见的方法吗?看起来应该很简单。


问题答案:

$http服务返回一个promise具有两个回调方法的,如下所示。

$http({method: 'GET', url: '/someUrl'}).
  success(function(data, status, headers, config) {
     var anchor = angular.element('<a/>');
     anchor.attr({
         href: 'data:attachment/csv;charset=utf-8,' + encodeURI(data),
         target: '_blank',
         download: 'filename.csv'
     })[0].click();

  }).
  error(function(data, status, headers, config) {
    // handle error
  });


 类似资料:
  • 我正在尝试使用改造从服务器下载文件。使用HttpLoggingInterceptor我尝试记录正在发生的事情。我可以找到文件名。但是响应正文是空的。 我是使用改造的新手。有人能指出我犯错的正确方向吗? 改进客户端界面: } Java呼叫: 日志中的响应:

  • 问题内容: 我的API控制器返回的是csv文件,如下所示: 我的angularjs将发送和接收csv文件如下所示: 在chrome中,它将下载一个名为,但没有文件扩展名的文件。该文件的内容为。 在IE10中,没有下载任何内容。 我该怎么做才能解决此问题? 问题答案: 像这样尝试:

  • 问题内容: 我有一个URL,用于保存我的工作中的一些项目,它们大部分是MDB文件,但也有一些JPG和PDF。 我需要做的是列出该目录中的每个文件(已完成)并为用户提供下载它的选项。 使用PHP如何实现? 问题答案: 要读取目录内容,可以使用readdir()并使用脚本(在我的示例中)来下载文件 在其中,您可以强制浏览器发送下载数据,并使用basename()来确保客户端不会传递其他文件名,例如

  • 我正试图下载一些公共数据文件。我通过screensrap获取指向文件的链接,这些文件看起来都是这样的: 我在Requests library网站上找不到任何文档。

  • 我创建了一个web应用程序,它允许其用户从运行应用程序的同一服务器下载文件。然而,我不能让它按照我希望的方式工作,现在我甚至不确定这是否可能。

  • 问题内容: 在Windows中使用Java代码,我需要从放置在服务器中的目录中下载几个文件。服务器中的那些文件是分别生成的。所以我不知道这些文件的名称。有什么方法可以使用JAVA下载它并将其保存在特定的文件夹中。 我正在使用apache tomcat。 我阅读了与Java文件下载相关的所有其他线程。但是他们都不满足我的要求。 问题答案: 使用和分类。