尝试在 IE11 中打开为程序生成的 PDF 生成的 URL 时显示“访问被拒绝”

2024-01-08

对于我正在开发的应用程序,我们有一个功能,可以在服务器端为对象生成报告,并在客户端的新选项卡(暂时)中打开它。

我正在使用URL.createObjectURL函数创建一个 URLBlob,它由 AJAX 调用的结果组成。每当一个$window.open(generatedFileUrl)但是,我收到了 JavaScript 错误。

控制器:

(function() {
    angular.module('app').controller('someCtrl', [
        '$window', 'someSvc', controller
    ]);

    function controller($window, someSvc) {
        var vm = this;
        vm.thing = {};  // How we get the object is unimportant for this question.
        vm.printThing = printThing;

        function printThing() {
            someSvc.printThing(vm.thing.id, vm.someFlag)
                .then(function(result) {
                    var file = new Blob([result], {type: 'application/pdf'});
                    var fileURL = URL.createObjectURL(file);

                    $window.open(fileURL);
                });
        }
    }
)();

Service:

(function () {
    angular.module('app').factory('someSvc', [
        '$http', someSvc
    ]);

    function someSvc($http) {
        var service = {
            printThing: function(thingId, someFlag) {
                var args = {
                    'thingId': thingId,
                    'someFlag': someFlag
                };

                return $http.get('/Reports/SomeReport', { 'params': args });
            }
        };

        return service;
    }
})();

服务器端代码对于这个问题并不重要。

问题:为什么在我的控制器代码中,我收到错误消息,0x80070005 - JavaScript runtime error: Access is denied.在IE11中?另外,如何避免访问被拒绝错误?


IE 不允许您直接打开 blob。你必须使用msSaveOrOpenBlob。还有msSaveBlob.

if (window.navigator && window.navigator.msSaveOrOpenBlob) {
    window.navigator.msSaveOrOpenBlob(blob, fileName);
} else {
    var objectUrl = URL.createObjectURL(blob);
    window.open(objectUrl);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试在 IE11 中打开为程序生成的 PDF 生成的 URL 时显示“访问被拒绝” 的相关文章

  • 非常基本的 JS 编码,是否有 SoundManager2?

    我想在我的网站上包含一个具有以下属性的音频 可能的视频播放器 必须可通过 div 通过 CSS 设计样式 可以读取所有ID3信息 可以从数据库中提取文件 可能是 GoDaddy 的 Easy Database 无闪光 可转移至智能手机等 我
  • 使用智能菜单jquery打印json

    menu name Computers children name Notebook children name Apple name Windows name Tablets children name Apple name Androi
  • 整个页面都是玻璃板

    有没有一种简单的方法可以在整个 HTML 页面上拥有一个 玻璃窗格 而不管缩放 幻灯片事件 平台 浏览器 移动 桌面 我所说的 简单 是指纯 CSS 支持 而不是插件 后备 插件建议也可能有用 Thanks 如果您只是指所有内容之上的一层
  • 重新排序 Magento JavaScript 包含 (addJs)

    我会保持简单 在我的产品页面上 我需要删除prototype js 文件并将其替换为最新版本的prototype 到目前为止 我已经使用 local xml 成功替换了它
  • 流媒体性能 - Canvas 与

    我正在开发一个应用程序 需要通过 webSocket 连接以每秒至少 30 帧的速度持续传输图像 我遇到了一些性能问题 并希望尽我所能进行优化 我想知道使用不断更新的图像之间的性能差异是什么 就像这样 img src someDynamic
  • angularjs 是否将 null 视为 $scope.null ?

    问题的示例 div hello div 这是在以下范围内评估的吗 scope bar null 或者是这样的 scope bar scope null 请注意 在最后一种情况下 scope null 将是未定义的 并且该示例似乎可以正常工作
  • Chart.js - 如何将数组集合推入数据集

    我一直在尝试多种方法将数组集合推送到数据集中 任何人都可以帮助我根据下面的代码将数组推入堆积图表中 这是例子 Codepen 堆叠栏 https codepen io narendrajadhav pen abzpWam JavaScrip
  • 将其作为参数传递给 addEventListener()

    我想添加change一组复选框的事件 我如何访问this在我的事件函数中 这样当我执行事件时我可以访问复选框的值 这是我当前的代码 var checkboxes document getElementsByClassName cb Arra
  • 尝试使用 CasperJS 跟踪 iframe 中的链接

    我正在尝试使用CasperJS http casperjs org index html跟踪 iframe 中的链接 但我似乎无法获取 iframe 的文档 这是使用我找到的 iframe 示例页面进行的测试 第三个 iframe 有一个名
  • jQuery 中如何判断 JSON 对象是否为空

    我有以下 JSON meta limit 20 next null offset 0 previous null total count 0 objects 我对对象感兴趣 我想知道对象是否为空并显示警报 像这样的东西 success fu
  • 如何垂直打印数组中的字符串元素? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我有一个数组 我想垂直打印每个元素 例如 myArr abc def ghi 输出应该是 a d g b e h c f
  • 上传前如何检查图片的宽度和高度

    对于图片上传 我编写了以下 html 代码
  • 根据数据更改图例颜色高图表

    我可以根据数据动态设置列的颜色 但无法弄清楚如何更改图例中的颜色 请注意 jsfiddle 最新的条形图是绿色的 但图例是蓝色的 有没有办法改变列颜色也会改变图例颜色 这是我用于列颜色的代码 jsfiddle http jsfiddle n
  • javascript 中一次仅选中一个复选框

    I have 3复选框 我只想1一次选中的复选框 下面是我的 html 小提琴 JS小提琴 https jsfiddle net n03jLhqa 我想要这个工作在IE8还请建议如何做 这个怎么样 fiddle http jsfiddle
  • 调用不带括号的 javascript 函数

    以下 renderChat 函数用于将消息和图像渲染到聊天板上 该函数内部还有另一个函数 var onComplete function 它完成创建列表元素并将其附加到聊天列表的所有工作 onComplete函数之后就只有这三行代码 img
  • 如何与使用 child_process.spawn 创建的新创建的服务器交互

    我正在尝试为我的私人托管的 反恐精英全球攻势 服务器制作一个前端 当我点击运行服务器时 在前端 一切正常 服务器启动并记录到控制台 但是如何查看服务器IP地址 服务器中的玩家等信息呢 这是我到目前为止运行服务器的内容 router post
  • 用于图形操作的 Javascript 库

    有没有建议的 javascript 替代 pythonpygraph http code google com p python graph or NetworkX http networkx lanl gov 应该注意的是 可视化不是必需
  • .parents() 没有 jquery - 或 querySelectorAll 为父母[重复]

    这个问题在这里已经有答案了 可能的重复 使用 matchesSelector js 检查 event target parentElement https stackoverflow com questions 12977658 check
  • 在 Sublime Text 下获取完整的 JS 自动补全

    我刚刚在 Windows Vista 下安装了 Sublime Text 甚至遵循了中给出的建议这个帖子 https stackoverflow com questions 10636410 modifying sublime text 2
  • Chrome 中的 addEventListener

    我正在关注 Lynda com 上有关新 DOM 事件模型的教程 这是我正在使用的代码 function addEventHandler oNode sEvt fFunc bCapture if typeof window event un

随机推荐

  • UIImageView 在 UIScrollView 中捏缩放

    我对使用 UIScrollView 的捏合缩放功能感到满意 但问题是滚动视图中图像的长宽比 目前 我有这个 下图 但我希望图像适合屏幕 如下图所示 景观也有同样的行为 我怎样才能实现这个目标 下面是代码 void viewDidLoad U
  • 在哪里可以找到 tesseract->setvariable 函数的第一个参数的可用属性名称列表?

    从大量的目光中我只能找到其中的一小部分 如下面的 tesseract 的 setVariable 1st param 2nd param 示例 tesseract gt SetVariable tessedit char whitelist
  • 在 Julia 中将 CartesianIndex 数组转换为二维矩阵

    假设我们在 Julia 中有一个笛卡尔索引数组 julia gt typeof indx Array CartesianIndex 2 1 现在我们想使用 PyPlot 将它们绘制为散点图 所以我们应该转换indx 笛卡尔数组到二维矩阵 因
  • 我需要释放这些对象吗?

    我正在使用 Delphi 1 16 位来学习 Pascal 别笑 它工作得很好 而且我买不起更新的版本 我使用 TList 来保存简单地址簿的对象引用 每个对象都添加到 TList 中 如下所示 DataList Add TAddrBook
  • Google App Engine Cloud Endpoints Pr@blem 标记 -> 在干净的 Android 项目上生成 App Engine 错误

    我创建了一个干净的 Android 应用程序A然后我右键单击它并选择Google gt Generate App Engine这导致了这个 错误描述是 Description Resource Path Location Type Ther
  • Java - 如何将 String 设置为 static int

    我有一个只接受字符串的方法 public void setVerticalAlignment String align gd verticalAlignment align accepts only int But gd verticalA
  • tcsh 脚本不退出

    我正在运行 CentOS 7 并且 tcsh 脚本出现问题 我有一个名为 quittest 的简单脚本 bin tcsh echo Simple Test exit 0 当我从终端运行 quittest 时 我得到 Simple Test
  • Azure Functions 和 IHealthCheck

    我需要对 Azure Functions 实施运行状况检查 https learn microsoft com en us aspnet core host and deploy health checks view aspnetcore
  • 如何让这个很长的网址显得很短?

    我已将大部分网站设置为 SE 友好型 但网站的一部分让我感到厌烦 我在其中一个页面中有一个巨大的表单 提交表单 action php page 时 URL 太长 一行包含了半个 word 文档 其中包含所有传递的变量 这是非常丑陋的 有什么
  • 如何在SQL Server中存储unicode字符?

    在 SQL Server 中 我试图创建一个可以存储 unicode 字符的表 具体是这个 https www fileformat info info unicode char 0144 index htm https www filef
  • Python 函数相当于 R 的“pretty()”?

    我正在用 Python 复制一些 R 代码 我被 R 绊倒了pretty 我所需要的只是pretty x where x是一些数字 粗略地说 该函数将 计算漂亮的断点 作为多个 轮 值的序列 我不确定是否有 Python 的等价物 而且我在
  • Google 登录签名的 apk 无法正常工作

    好吧 直到我生成签名的 apk 为止 一切正常 我按照谷歌开发者页面上的说明进行了整个过程 1 我生成了 google services json 文件 其中包含 keyhash 和包名称2 像这样包含所有类级别和应用程序级别依赖项 Top
  • 删除重复项并附带警告

    我有一个包含 rowID 经度 纬度 businessName url 标题的表 这可能看起来像 rowID long lat businessName url caption 1 20 20 Pizza Hut yum com null
  • Angular-UI 全局键绑定

    我已经开始使用 angular ui 按键模块 并且想知道是否有一种方法可以使全局快捷键无论我放置在体内的哪个位置都可以工作 我尝试将 ui keydown 链接到正文 但由于它没有焦点 因此不会触发关键事件 eg 我知道我可以只关注一个
  • 在C++中,当我需要使用枚举时,如何避免#include头文件?

    在我的 C 头文件中 我尝试使用前向声明 class MyClass 而不是 include 类头 正如许多 C 编码标准中所建议的那样 Google C 样式指南就是其中之一 不幸的是 当我引入枚举时 我无法再进行前向声明了 像这样 my
  • 如何使用 Laravel 5.5 身份验证使电子邮件登录不区分大小写

    在构建我的应用程序时 我通过运行使用了 Laravel 身份验证脚手架php artisan make auth这很棒 节省了我很多时间 但是 我遇到了用户无法登录的问题 因为他们不记得最初注册时使用的电子邮件大小写 例如 注册的用户 em
  • Wix Burn:自定义引导程序升级,但与旧版本并排安装

    我正在努力解决自定义引导程序升级问题 依照指示这个线程 https stackoverflow com questions 17676657 wix burn bootstrapper majorupgrade 我正在使用 LaunchAc
  • 弹出窗口显示片段中的一些内容

    我正在尝试制作类似弹出窗口的东西 当单击片段中的视图时会出现该窗口 我希望这个弹出窗口或其他任何东西不要使片段变暗 就像对话框片段那样 我还希望弹出窗口位于单击视图的位置 如果它有自己的活动和布局那就太好了 这样我就可以在其中进行一些自定义
  • 无法在 Rails 4 中批量分配受保护的属性

    我无法理解我的代码有什么问题 Rails 4 帖子中的参数 name gt name 新行动 m Menu new params permit name 此代码的最后一行生成 无法为菜单批量分配受保护的属性 名称 在 Rails 4 中使用
  • 尝试在 IE11 中打开为程序生成的 PDF 生成的 URL 时显示“访问被拒绝”

    对于我正在开发的应用程序 我们有一个功能 可以在服务器端为对象生成报告 并在客户端的新选项卡 暂时 中打开它 我正在使用URL createObjectURL函数创建一个 URLBlob 它由 AJAX 调用的结果组成 每当一个 windo