加载 PNG 图像文件以作为 Image 对象显示在 Vaadin Flow 布局上
Load a PNG image file for display on a Vaadin Flow layout as a Image object
Vaadin Flow 提供了一个 Image
class,代表一个 HTML img
标签。
如果我有一个名为 logo.png
的文件存储在我的 Vaadin 12 应用程序的 resources
文件夹中,我如何加载该文件以在布局上显示为 Image
?
Image
in the Vaadin 8 Sampler 的示例显示代码不再相关,因为我在 Flow 中找不到 ClassResource
class。
您可以将该徽标放在您的构建 tool/setup 认为目录 frontend/...
下的 Web 资源根目录下,然后像这样引用该资源:
new Image("frontend/images/logo.png", "Acme Inc. Logo")
如果您的资源不在网络资源的根目录中,this doc page 会提示使用 com.vaadin.flow.server.StreamResource
通过 java.io.InputStream
:[=14= 提供数据]
StreamResource res = new StreamResource("logo-image.png", () -> {
// eg. load image data from classpath (src/main/resources/images/image.png)
return MainView.class.getClassLoader().getResourceAsStream("images/image.png");
});
Image imageFromStream = new Image( res,"Alternativ text description for logo image");
add(imageFromStream);
Vaadin Flow 提供了一个 Image
class,代表一个 HTML img
标签。
如果我有一个名为 logo.png
的文件存储在我的 Vaadin 12 应用程序的 resources
文件夹中,我如何加载该文件以在布局上显示为 Image
?
Image
in the Vaadin 8 Sampler 的示例显示代码不再相关,因为我在 Flow 中找不到 ClassResource
class。
您可以将该徽标放在您的构建 tool/setup 认为目录 frontend/...
下的 Web 资源根目录下,然后像这样引用该资源:
new Image("frontend/images/logo.png", "Acme Inc. Logo")
如果您的资源不在网络资源的根目录中,this doc page 会提示使用 com.vaadin.flow.server.StreamResource
通过 java.io.InputStream
:[=14= 提供数据]
StreamResource res = new StreamResource("logo-image.png", () -> {
// eg. load image data from classpath (src/main/resources/images/image.png)
return MainView.class.getClassLoader().getResourceAsStream("images/image.png");
});
Image imageFromStream = new Image( res,"Alternativ text description for logo image");
add(imageFromStream);