我通过StreamResource从我的数据库中获取图像,然后使用Image()类来显示图片。是否可以从此StreamResource或Image类获取URL? 通过浏览器,我可以发现该图像的URL看起来像:“... / Web / APP / connector / 0/32 / source / Picture-xxx.JPG”
我需要CSSInject图像的URL。
提前致谢
答案 0 :(得分:1)
所以..
客户端Vaadin资源链接模式如下:
[protocol]+"://"+[currentUrl]+"/APP/connector/"+[uiId]+"/"+[cid]+"/source/"+[filename]
其中:
协议 - 请求协议,
currentUrl - 当前URL,
uiId - Vaadin UI标识符,
cid - 连接器标识符,
filename - filename。
获取网址的示例函数:
String getResourceURL(AbstractClientConnector connector,FileResource resource){
String protocol = UI.getCurrent().getPage().getLocation().getScheme();
String currentUrl = UI.getCurrent().getPage().getLocation().getAuthority();
String cid = connector.getConnectorId();
Integer uiId = connector.getUI().getUIId();
String filename = resource.getFilename();
return protocol+"://"+currentUrl+"/APP/connector/"+uiId+"/"+cid+"/source/"+filename;
}
其中:
连接器例如是Image对象
资源是FileResource
答案 1 :(得分:0)
这是创建request handler的典型用例: 如提供的链接中所述: 请求处理程序对于捕获请求参数或生成动态内容非常有用,例如HTML,图像,PDF或其他内容。