2
4

1 に答える 1

1

まあ、arraybufferajax リクエストに対して responseType を に設定する必要があるだけです。jQuery はその dataType をサポートしていないため、従来の Javascript Ajax を使用する必要があります

詳細については、バイナリ データの送受信を参照してください。

function ajaxFileStream() {
    var url = "/Home/GetFileStream";
    var oReq = new XMLHttpRequest();
    oReq.open("GET", url, true);
    oReq.responseType = "arraybuffer";

    oReq.onload = function (oEvent) {
        console.log(oReq.response);
        var blob = new Blob([oReq.response], { type: "application/pdf" });
        var win = window.open('', '_blank');
        var URL = window.URL || window.webkitURL;
        var dataUrl = URL.createObjectURL(blob);
        win.location = dataUrl;
    };
    oReq.send();
}

ありがとう、リンクしたbUKaneerは大いに役立ちました。

于 2014-07-10T11:53:17.597 に答える