将byte []发送到Applet

时间:2015-05-21 15:31:16

标签: java javascript applet base64

我有一个使用Struts 1.3的Java Web应用程序,它与Applet进行通信以打印报告。 此报告由Web应用程序生成,没有问题,但是,我无法发送到Applet。

我在这里搜索了其他论坛,而且显然与大多数人合作的解决方案是使用Base64转换byte []。我尝试过,但没有为我工作。出于某种原因,当applet尝试解码时,它无法解决。不会产生任何错误,它只是没有出现在解码的位置,它就像进入了一个无限循环。

以下代码生成Base64:

try {
    byte[] report = PrinterFacade.generateReport();
    [...]

    response.getWriter().write(Base64.encodeBase64String(report));
} catch (Exception e) {
    [...]
    throw e;
}

这是调用Applet的JavaScript代码:

    $.ajax ({
        type: "POST"
        url: "${printing}"
        success: function(data) {
            document.applet.print(data);
        },
        [...]
    });

这是代码Applet:

public void print(String report) throws Exception {
    try {
        byte[] pdf = Base64.decodeBase64(report);

        [...]
    } catch (Exception e) {
        throw e;
    }
}

我检查过,并且字符串报告中填充了Applet端的正确数据。

有谁知道它能是什么?

0 个答案:

没有答案