呈现异步时Jsreport格式错误的URI错误

时间:2016-07-27 08:35:36

标签: pdf stream jsreport

由于我正在使用请求发送大量数据,因此我必须使用renderAsync来使用POST。当流回来时,我使用以下JS代码打开它

 jsreport.renderAsync(request).then(function(arrayBuffer) {
 window.open("data:application/pdf;base64," + arrayBuffer
)};);

然后错误显示。有替代方法吗?

1 个答案:

答案 0 :(得分:1)

这似乎有效

<script>
    jsreport.renderAsync(request).then(function(response) {
        var uInt8Array = new Uint8Array(response);
        var i = uInt8Array.length;
        var binaryString = new Array(i);
        while (i--)
        {
            binaryString[i] = String.fromCharCode(uInt8Array[i]);
        }
        var data = binaryString.join('');
        var base64 = window.btoa(data);

        window.open("data:application/pdf;base64, " + base64);    
    })
</script>