gpt4 book ai didi

javascript - 将图像从 java applet 传递到 html

转载 作者:行者123 更新时间:2023-11-30 10:42:51 25 4
gpt4 key购买 nike

我正在使用签名的 Java 小程序从用户的文件系统加载图像。
然后我想在运行小程序的网站上显示这个图像。

我知道如何在applet 和JavaScript 之间进行通信,但我只使用字符串和数字作为参数。

如何处理图像对象以及如何在网站上显示它们?

如果需要,我可以转换小程序中的格式以匹配 JavaScript。

编辑:
我通过 JSObject 的调用将 Image 对象从 java 传递到 javascript。 Chrome 忽略了调用和 Firefox 崩溃..

最佳答案

您可以将图像编码为 Base 64,将其作为字符串传递给 JS,然后使用 data:image/gif; 表单 URL 将其显示在网页中。您需要“使用自己的”base 64 编码器或找到一个 API,因为 J2SE 没有用于转换的内置方法。1

它在 HTML 中可能看起来像这样。

<img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub/
/ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcpp
V0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7"
width="16" height="14" alt="embedded folder icon">

例如取自 Inline Images with Data URLs .

  1. 在后来的 JRE 中(一旦引入了 JAXB)希望使用 DatatypeConverter.printBase64Binary(byte[])像这样:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
ImageIO.write(image, "png", baos);
} catch (IOException e) {
showError(e);
e.printStackTrace();
}
String imageString = "data:image/png;base64," +
DatatypeConverter.printBase64Binary(baos.toByteArray());

关于javascript - 将图像从 java applet 传递到 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10122884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com