当前位置: 首页 > 知识库问答 >
问题:

从S3ObjectInputStream到AbstractStreamResources的转换

於宾白
2023-03-14

我将获得一个AWS S3图像资源作为S3ObjectInputStream,并希望将其放入Vaadin图像HTML组件中。Vaadin图像只有两种初始化方式。第一个是通过一个表示文件路径的字符串,这意味着将S3映像写入磁盘,由于数据安全原因,我无法这样做,第二个是通过实现“AbstractStreamResource”的东西。现在的问题是,如何将S3ObjectInputStream转换为实现“AbstractStreamResource”的内容,以将文件仅保留在内存中。

共有1个答案

王庆
2023-03-14

基于S3ObjectInputStream API文档,S3ObjectInputStream是java.io.InputStream的子类。在这种情况下,你应该能够做到

    S3ObjectInputStream s3ImageResource = ... 
    StreamResource res = new StreamResource("filename.jpg", () -> {
        InputStream is = s3ImageResource;
        return is;
    });
    Image image = new Image(res,"Image");

或者,如果这不起作用,基于StackOverflow中的其他问题,我假设您可以将S3ObjectInputStream转换为字节数组。

    byte[] bytes = // get bytes from S3ObjectInputStream 
    StreamResource res = new StreamResource("filename.jpg", () -> {
        InputStream is = new ByteArrayInputStream(bytes);
        return is;
    });
    Image image = new Image(res,"Image");
 类似资料:
  • 在其中一个API中,使用Apache IOUtils,使用以下步骤将S3Object转换为字符串: 在另一个API中,当我必须将字符串转换回S3ObjectInputStream时,我尝试了以下步骤,但似乎不起作用: 方法1: 方法2: 有没有其他方法可以在不丢失数据的情况下正确转换它?

  • 我想将文件输入流转换为S3ObjectInputStream。 这是我当前的代码: 然而,它给出了错误:

  • 问题内容: 我希望将标准JSON对象处理为一个对象,其中每行必须包含一个单独的,自包含的有效JSON对象。查看JSON行 : 我当前的解决方案是将JSON文件读取为文本文件,并从开头和结尾删除。因此,在每行上创建一个有效的JSON对象,而不是包含行的嵌套对象。 我想知道是否有更优雅的解决方案?我怀疑在文件上使用字符串操作可能会出错。 目的是在Spark上将文件读入RDD。查看相关问题-使用Apac

  • 我正在将一些使用Spring AOP的代码迁移到AspectJ方面(在编译时编织)。我正在寻找关于如何修改切入点以使它们在迁移后表现相同的反馈? 这让我很头疼,我想知道我是否可以更改切入点,使其仍然表现得好像它仍然是一个代理?(即在类型层次结构中的任何一点排除来自自身内部的调用,例如调用继承的函数)

  • 我一直在尝试编译,并玩了一圈的和数,但仍然不能弄清楚错误是什么。有什么想法吗? 标题:

  • (再说一遍,数据是字节数组) 但是,字节不匹配。我是不是漏掉了什么? (好吧,我当然是,否则它会起作用的,对吧?:S) -86,44,95,84,3,50,7,-119,-36,46,39,32,-120,7,10,-86,-101,110,-93,-72,-13,-93,-42,111,0,59,-85,-63,-15,-98,-17,-52 当转换为 170,44,95,84,3,50,7,1