如何从 javascript 中的 http 响应动态连接字节流块?

How to dynamically concat a block of byte stream from http response in javascript?

所以,

我想向浏览器发送字节流(例如 pdf),以便他可以将其显示给用户。

if (bytesToRead == -1) {
                bytesToRead = (int)fullPathFile.length();}
            byte[] buffer = new byte[bytesToRead];
            int bytesRead = -1;     
            if((inputFileInputStream != null) && ((bytesRead = inputFileInputStream.read(buffer)) != -1)){ 

                if (codec.equals("base64")) {
                    String streamLength = Base64.encodeBytes(buffer, 0, bytesToRead);
                    response.setContentLength(streamLength.length());
                    outputFileOutputStream.write(Base64.encodeBytes(buffer, 0, bytesToRead).getBytes());

                } else {
                    outputFileOutputStream.write(buffer, 0, bytesToRead);
                }
            }
            inputFileInputStream.close();
            outputFileOutputStream.flush();
            outputFileOutputStream.close();

目前它与选项 -1 一起使用以一次性获取字节流,但我想发送 2kb 让我们说。我知道为此我需要发送多个 2kb 的回复,并且我必须将它们连接到 javascript 代码中。但是,我该怎么做呢?

使用 concat() 遍历数组...

var allBytes = [];

for (byteArray in allByteArray){
    allBytes = allBytes.concat(byteArray);
}

但是如果你想加入多个 PDF 页面,它不会工作...

我在增加偏移量的地方使用了 for()。