Ember.js 使用余烬应用下载文件
我有Ember应用程序(使用Ember CLI构建)。在后端,我有一个处理请求的Rails应用程序。假设我的API有以下路径:Ember.js 使用余烬应用下载文件,ember.js,Ember.js,我有Ember应用程序(使用Ember CLI构建)。在后端,我有一个处理请求的Rails应用程序。假设我的API有以下路径: /model-返回模型列表 /model/1-返回模型 /model/1/下载-返回文件 如何强制Ember应用程序开始文件下载(使用/download路径),以及如何从Ember应用程序内部构建文件下载链接?为什么不在您的模型中返回下载的URL路径,以供“/model/1”使用。然后,您可以在把手模板中轻松创建链接,如下所示: 如果要点击端点并返回文件内容,我相信您
/model
-返回模型列表
/model/1
-返回模型
/model/1/下载
-返回文件
如何强制Ember应用程序开始文件下载(使用
/download
路径),以及如何从Ember应用程序内部构建文件下载链接?为什么不在您的模型中返回下载的URL路径,以供“/model/1”使用。然后,您可以在把手模板中轻松创建链接,如下所示:
内容处置=附件;filename=some.file.name
download
属性李>
不要手动执行这些操作,保持简单易用
如果要下载的文件来自Ember的后端,我认为它不能像这样工作。这将打开一个新窗口,显示带有与文件URI对应的路由的Ember应用程序,该路由可能不匹配。下载属性不太受支持:
// models/invoice.js
export default Model.extend({
invoiceNumber: attr('number'),
download: memberAction({ path: 'download', type: 'GET', ajaxOptions: { arraybuffer: true } })
});
// in a component
invoiceModel
.download()
.then((pdfContent) => this.saveFileAs('invoice.pdf', pdfContent, 'application/pdf'));