【发布时间】:2012-04-13 05:31:45
【问题描述】:
我有一个返回发票的 WCF Web Api 端点:http://localhost/api/invoice/23
它返回的格式是请求中接受头的格式。如果 Javascript 需要 JSON 或 XML,那么它只需在接受标头中设置它。这就是 WCF Web Api 的工作方式。我在发票中添加了一个 PDF 格式化程序,以便在请求应用程序/pdf 时,它会得到一个带有适当 MIME 类型的渲染 pdf 文件流。这很好用,我可以在 fiddler 中测试它。
我需要用户单击浏览器中的某些内容来开始 PDF 下载并弹出打开/保存对话框。我不知道如何执行此操作并设置请求的接受标头。 javascript 中的静态链接或 window.location 不起作用,因为它不允许我设置标题。 AJAX 请求不起作用,因为虽然我可以设置标头,但它需要返回文本,并且不会在浏览器中显示为下载。
我不确定我该怎么做。任何建议将不胜感激。
【问题讨论】:
标签: wcf wcf-web-api