我想使用浏览器的默认行为,使用Ember在新选项卡中打开pdf文件。
我没有使用Ember-Data作为服务器端资源我使用的是Python。所以我在启动Ember时设置代理地址指向服务器端地址。
我构建了一个路由页面,我有一个链接可以在浏览器中打开我的PDF文件,如
<a href="/path/apps/list.pdf?list=current" target="_blank">Open</a>
服务器Python资源返回pdf:
@get("/list.pdf")
@params(C.String("list"))
def get_list_pdf(list):
//some code to build the pdf string
Response(pdf_string, headers={'Content-Type': 'application/pdf'})
我在没有使用ember的应用程序中尝试从链接访问资源,这很好。但是对于Ember,我无法做到这一点。
我收到此错误: Uncaught UnrecognizedURLError:/path/apps/list.pdf?list = current ember.debug.js:4914
我有什么建议可以实现这个目标吗?
答案 0 :(得分:0)
作为我问题的解决方案,我创建了一个新路由,并在其模板中添加了html对象元素。我还添加了{{link-to'the route'(query-params url ='the url')}}来转发到路线以呈现PDF。
template.hbs
<object data={{url}} type='application/pdf' />