如何获取URL的Vaadin资源路径?

How to get URL of Vaadin resources path?

我使用Eclipse + Vaadin框架。

起初我把我的图片保存在WEB-INF文件夹中。 然后我将此图像加载到 FileResource 变量中,创建 Image 变量,然后将 Image 变量添加到 Layout 中。

图片资源的页面URL如下所示:http://servername/sitename/APP/connector/0/16/source/qwerty1.png

如何获取该格式的 URL 以供外部使用?

变量 basepath 返回本地路径:“..../WEB-INF/qwerty1.png”

String str = (String) VaadinService.getCurrent().getBaseDirectory().
                       getAbsolutePath() +"/WEB-INF/qwerty1.png";

File temp = new File(str);
FileOutputStream fos = new FileOutputStream(temp);
fos.write(os.toByteArray());
fos.flush();
fos.close();

String basepath = VaadinService.getCurrent().getBaseDirectory().
                   getAbsolutePath() +"/WEB-INF/qwerty1.png";
FileResource resource = new FileResource(new File(basepath));
Image image2 = new Image("Image from file", resource);
addComponent(image2);

如果您将文件放在 ...src/main/webapp/VAADIN/image.png 中,它应该可用,例如 localhost:8080/VAADIN/image.png