我有一个不寻常的要求。本质上,我需要一种方法,以便当用户单击链接或按钮时,他们将收到 PDF。这里棘手的部分是服务器根本不会处理请求,除非随它一起发送自定义标头(否则它认为该人已注销并将其发送到登录屏幕)。
目前标题的工作方式无法更改,因此请不要纠缠于此;它将来会发生变化,并且是我无法控制的内部应用程序。
我探索过的选项:
- 使用 iframe 或简单地打开一个带有某种路径的新窗口,该路径将返回 PDF。这是行不通的,因为我无法为 PDF 指定所需的标题,并且会在到达 PDF 本身之前被重定向。
- 无法使用表单并提交请求,因为我无法向表单添加任何自定义标题(只有 XHR 和插件可以,AFAIK)。
- 使用 XHR 无法正常工作,因为虽然它可以添加标头并检索文件,但无法将其保存在客户端。
看来我此时唯一的选择基本上是:
- 使用某种插件(例如 Flash 或 Silverlight)来请求文件。
- 比预期更早地强制要求更改,以便不再需要标头。
我在这里有什么遗漏吗?我希望有人可以验证我的发现或指出我错过的东西,因为据我所知,我在这里真的无能为力。
编辑:这似乎很恰当,并证实了我的想法:XMLHttpRequest to open PDF in browser