首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular 6:更改模板生成页面的内容类型

Angular 6:更改模板生成页面的内容类型
EN

Stack Overflow用户
提问于 2018-08-06 22:33:06
回答 1查看 205关注 0票数 1

注意:这个问题不是关于ANGULAR的HttpClient,而是关于组件模板生成的文档。

我想做一个简单而强大的MS EXCEL导出的老把戏:生成一个包含单个的HTML文档,并使用"Content-Type: application/xls“提供它。用户的浏览器会将文档转发到本地安装的MS EXCEL,它会检测到这不是“真正的”.xls,而是HTML,并将HTML很好地转换为电子表格。

我的实现方法很简单:为path添加一个路由,比如"/export-xls",并添加一个新组件,用于获取数据并在其模板中呈现数据。

然而,我绝对找不到在响应中设置"Content-Type“头的方法!?我设想在"Routes“数组中设置"contentType:'application/xls'",但没有办法。

从ANGULAR中生成这样的文档最简单、最好的方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2018-08-06 22:58:33

您可以通过执行以下步骤来解决问题

  1. 在本地文件系统中创建一个包含表的文件,并使用URL.createObjectURL方法为该文件创建一个URL
  2. 向该文件发送一个http请求
  3. 截取该请求并在收到文件后将contentType:'application/xls‘添加到响应头
  4. 使用URL.revokeObjectURL方法撤销该URL并从本地文件系统中删除该文件

G29

我不确定您是否可以在不创建物理文件的情况下执行此操作,因为响应内容类型需要http请求

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51710022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档