我有一个返回发票的 WCF Web Api 端点:http://localhost/api/invoice/23
它返回的格式是请求中接受头的格式。如果 Javascript 需要 JSON 或 XML,那么它只需在接受标头中设置它。这就是 WCF Web Api 的工作方式。我已经在发票中添加了一个 PDF 格式化程序,以便在请求应用程序/pdf 时,它会以适当的 MIME 类型返回一个呈现的 pdf 文件流。这工作正常,我可以在提琴手测试它。
我需要用户在浏览器中单击某些内容以开始 PDF 下载并弹出打开/保存对话框。我不知道如何执行此操作并设置请求的接受标头。javascript 中的静态链接或 window.location 不起作用,因为它不允许我设置标题。AJAX 请求不起作用,因为虽然我可以设置标题,但它需要返回文本,并且不会在浏览器中显示为下载。
我不确定我该怎么做。任何建议将不胜感激。