在新窗口中使用 jquery 显示从控制器返回的 PDF 流

2024-04-22

我有一个控制器操作,它读取.pdf从 azure blob 存储中读取文件并将流对象返回到$.ajax() method.

控制器返回

var stream = blobStorage.OpenRead(filepath);
await FileAsync(stream, "application/pdf");

Ajax 调用和响应

$.ajax({
        type: "POST",
        url: "/PDFfile",
        data: { 'id': Id },
        dataType: "application/pdf",
        traditional: true,
        complete: function(data) {
            var w = window.open("data:application/pdf, " + escape(data.responseText));
            w.document.write(data.responseText);
            w.document.close();
        }
    });

但是,如果调用的是如图所示的同一控制器操作,则文件将正确显示。

<a class="pull-right btn-link" target="_blank" data-bind="attr: { href: '/PDFfile/' + Id }"></a>

It may appear as a duplicate question but none of the solutions worked for me. The output I am getting is as shown.enter image description here


我找不到这个问题的确切答案。我发现了一堆不同的问题。 我终于能够通过使用拼凑起来fetch。 您需要接受类型'arraybuffer',然后你变成一个斑点resopnse.blob()。然后您可以在新窗口中打开该 blob。

          fetch('/post/url', {
                        method: 'POST',
                        headers: {
                            Accept: 'arraybuffer',
                            'Content-Type': 'application/json',
                        },
                        //you need to use json here
                        body: JSON.stringify({ items: [{ ItemId: 3, Quantity: 40 }], fileId: 2 });
                    })
                        .then(response => response.blob())
                        .then(data => {
                            var popup = window.open(URL.createObjectURL(data), "height=500,width=750);

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

在新窗口中使用 jquery 显示从控制器返回的 PDF 流 的相关文章

随机推荐

  • 从 cURL 发布:HTTP_X_REQUESTED_WITH

    我正在以编程方式将表单发布到 PHP 表单处理脚本 有没有办法让我的表单处理脚本认为该帖子是由ajax 完成的 表单处理程序当前检查 SERVER 中的 HTTP X REQUESTED WITH 以实现特殊的仅限 ajax 的逻辑 当我使
  • 重新启动 Android MediaRecorder 时出现 IllegalStateException [在无效状态下调用启动:1]

    我正在尝试实现简单的逻辑来开始 停止录制MediaRecorder安卓的 周期为 连接到 localSocket 设置选项 mRecorder prepare mRecorder start mRecorder stop mRecorder
  • Android Studio 3.1:代理配置:无法为git操作设置https用户密码

    我最近将 Android Studio 从 3 0 升级到了 3 1 在3 0中 我曾经在中设置代理配置gradle properties 全局属性 文件 其中包括设置systemProp https proxyPassword除其他外 但
  • 更改 SOLR 默认连接

    我正在使用嵌入 SOLR 的应用程序 SOLR 在 Tomcat 的 webapp 区域中像一场战争一样运行 是否有 SOLR 配置允许我切换搜索的默认 SOLR 行为以假定 AND 而不是 OR 作为连接运算符 在您的模式文件中添加 或修
  • /var/run/docker.sock:在 Python CGI 脚本中运行 docker 时权限被拒绝

    我正在尝试运行 Python CGI 脚本 在其中需要运行 docker 镜像 我使用的是 Docker 版本 1 6 2 用户是 www data 添加到docker组中 www data www data sudo docker 在机器
  • 模型响应包含 swagger 中不同对象类型的数组

    我想建模一个响应对象 其中包含 swagger 中不同类型对象的数组 如下所示 table user customer employee 我尝试了下面的解决方案 但它将所有属性包装在单个对象 user customer 中 response
  • 使用 SSE/AVX 获取 __m256d 中存储的值的总和

    有没有办法获得存储在 m256d 变量中的值的总和 我有这个代码 acc mm256 add pd acc mm256 mul pd row vec acc in this point contains 2 0 8 0 18 0 32 0
  • Rvest XML 网络抓取

    我是一个初学者 我在抓取方面遇到了问题 我需要获取有关一些客户的活动 非活动 VEIS 号码的数据 目前 我只尝试一个 在网站上 我必须 设置值并发送表单 然后浏览器重定向到下一页 我可以在其中找到有趣的日期 下面我发送了我的代码 也许有人
  • Excel动态图表标题(前n个)

    是否可以创建包含 前 n 的动态 Excel 数据透视图标题 其中 n 用户选择的值过滤器行限制 我知道图表标题可以设置为单元格的内容 但不确定如何确定用户选择的前 n 个限制或如何将其添加到单元格公式中 如果可能的话 我们将不胜感激任何帮
  • 如何评估kafka流应用程序的消耗时间

    我有 1 0 0 kafka 流应用程序 有两个类 如下所示 class FilterByPolicyStreamsApp 和 class FilterByPolicyTransformerSupplier 在我的应用程序中 我读取事件 执
  • Django 模型:设置相对于另一个字段的默认值

    我正在使用 Django 1 10 作为后端构建一个应用程序 是否可以设置模型字段相对于同一实例中另一个模型的默认值 我特别需要设置second visit s默认为 3 周后first visit class SomeModel mode
  • 映射列类型 Slick 3.1.1

    我是 Slick 的新手 很难将 java sql date time timestamp 映射到 jodatime trait ColumnTypeMappings val profile JdbcProfile import profi
  • 如何将索引从一个索引节点移动到 couchbase 中的另一个索引节点

    我在 couchbase 集群中有 6 个索引节点 我想替换一次索引节点并将索引从旧索引节点移动到新索引节点 将索引从一个节点移动到另一个节点的最佳实践是什么 在 Couchbase 5 5 中 您可以使用 ALTER INDEX 语句将索
  • WooCommerce 根据用户角色更改 BACS 订单状态

    我收到几个订单 其中客户选择 直接银行转账 然后他们改变主意并希望通过信用卡付款 这非常烦人 因为我必须手动将订单从 暂停 更改为 待付款 以便他们可以通过 订单 下 我的帐户 中的 订单支付 端点通过卡付款 我一直在使用WooCommer
  • 错误:命令失败,rc=65536 python 和 mod_wsgi

    我遇到这个问题 我正在运行 pythonbrew 来获取 python2 7 因此我重新编译了 mod wsgi 以使用 2 7 python 为此 我遵循了本教程 code google com p modwsgi wiki QuickI
  • python 中的跨平台代码

    如何在 python 中编写一些 Windows 代码 仅当我在 widnows 中运行脚本时才执行 如果我应该在 linux 中运行它 则应该忽略这部分 windows 代码 与此类似 在 C 中 ifdef windows code e
  • C++ 如何将“this”传递给指针引用

    我有一个主类 我喜欢将其指针引用传递给我创建的对象 但它给了我错误 错误 1 错误 C2664 GameController GameController GameLayer 无法将参数 1 从 GameLayer const 转换为 Ga
  • ListView 的转换视图类型 BaseAdapter 错误

    我有一个使用不同类型的视图行的列表视图适配器 大多数时候它工作得很好 但是当我从列表中删除一个元素时它会崩溃 它将错误类型的convertView发送到getView public View getView int position Vie
  • @csrf_exempt 在 Django 1.4 中停止工作

    我有以下代码 在 Django 1 2 5 中运行良好 from django views decorators csrf import csrf exempt class ApiView object def call self requ
  • 在新窗口中使用 jquery 显示从控制器返回的 PDF 流

    我有一个控制器操作 它读取 pdf从 azure blob 存储中读取文件并将流对象返回到 ajax method 控制器返回 var stream blobStorage OpenRead filepath await FileAsync