在vaadin中从OutputStream创建ExternalResource

时间:2012-08-02 03:54:55

标签: upload vaadin cropfield

是否可以从vaadin中的OutputStream对象创建ExternalResource对象?我想要的是允许用户裁剪通过上传组件上传的图像,但不将其保存在服务器端。只有当他确认裁剪区域时,我才会保存它。

问题是上传的receiveUpload方法返回OutputStream,我不知道如何从中获取ExternalResource对象以将其传递给CropField(addon)构造函数。

1 个答案:

答案 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());