使用XMLHttpRequest处理异步请求返回的图片等二进制文件

封装的Ajax没有接受文件的类型 所以要用传统的 XMLHttpRequest来处理

function ShowPdf() {
            var url = "/ChannelLiquidation/ShowPdf.ashx?PdfName=<%=PdfName %>&pdfFolder=<%=PdfFolder %>";
            var xhr = null;;
            if (window.XMLHttpRequest) {// code for IE7, Firefox, Opera, etc.
                xhr = new XMLHttpRequest();
            }
            else if (window.ActiveXObject) {// code for IE6, IE5
                xhr = new ActiveXObject("Microsoft.XMLHTTP");
            }
            if (xhr != null) {
                xhr.onreadystatechange = false;
                xhr.open('GET', url, true);
                xhr.responseType = "blob";
                xhr.setRequestHeader("client_type", "DESKTOP_WEB");
                xhr.setRequestHeader("desktop_web_access_key", Math.random().toString());
                xhr.onload = function () {
                    if (this.status == 200) {
                        var blob = this.response;
                        var img = document.createElement("img");
                        img.onload = function (e) {
                            window.URL.revokeObjectURL(img.src);
                        };
                        img.src = window.URL.createObjectURL(blob);
                        img.style.cssText = "width: 90%; float: left";
                        img.setAttribute("onerror","this.src='../Assets/img/notBill.jpeg'");
                        $("#div_imgcontainer").html(img);
                    }
                }
                xhr.send();
            }
        }
        $(function () {ShowPdf();})

转载于:https://www.cnblogs.com/ccmsalome/p/7274552.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值