是否可以从vaadin中的OutputStream对象创建ExternalResource对象?我想要的是允许用户裁剪通过上传组件上传的图像,但不将其保存在服务器端。只有当他确认裁剪区域时,我才会保存它。
问题是上传的receiveUpload方法返回OutputStream,我不知道如何从中获取ExternalResource对象以将其传递给CropField(addon)构造函数。
答案 0 :(得分:2)
回答我自己的问题:可以创建一个完全适合CropField构造函数的StreamResource实例。
StreamSource streamSource = new StreamResource.StreamSource() {
@Override
public InputStream getStream() {
return new ByteArrayInputStream(bos.toByteArray());
}
};
final StreamResource streamRes = new StreamResource(streamSource, UUID.randomUUID().toString(), getApplication());