【发布时间】:2023-03-29 09:00:02
【问题描述】:
我正在将水晶报告导出为 pdf 文档,并且 UI 中有一个按钮,可以在“下载”文件夹中下载该 pdf。为了实现这一点,我在 web api 中有一个方法,该方法在单击按钮时执行,该方法返回 HttpResponseMessage,其内容是字节数组(pdf 位于 blob 上,我将该文件下载到字节数组)。 在 UI 中,使用 javascript 的 window.open 方法,我直接打开 web api 方法的 URL,该方法在执行时会下载下载文件夹中的文件。
这很好用。但现在我已将 [Authorize] 属性添加到 web api 控制器,因此当使用方法 URL 打开 javascript 窗口时,会提示用户输入用户名和密码值。
我正在尝试向服务器发布一个 ajax 请求,该请求在客户端返回我的字节数组。 ajax请求执行后,我写了如下代码:
data = "data:application/octet-stream;base64," + data;
document.location = data;
该文件确实已下载,但它作为“下载”文件下载,我必须使用“打开方式..”选项来查看文件。如何下载为 pdf 文件?
【问题讨论】:
标签: jquery asp.net-mvc-4 asp.net-web-api download