【问题标题】:Vaadin file previewVaadin 文件预览
【发布时间】:2016-10-19 12:31:56
【问题描述】:

谁能支持我解决以下问题: 我正在与 Vaadin 合作,需要开发一个代码 tt 将允许用户以 pdf、图像、视频和音频文件等格式预览文件。所有文件都存储在数据库中,并且可能是或各种可能的类型。对于pdf,添加以下代码就足够了:

StreamResource resource = file.downloadFileFromDatabase();
            Embedded pdf = new Embedded("", resource);
            pdf.setMimeType("application/pdf");
            pdf.setType(Embedded.TYPE_BROWSER);
            pdf.setSizeFull();
            pdf.setHeight("310px");
            verticalLayout.setSizeFull();
            verticalLayout.addComponent(pdf);
            verticalLayout.setExpandRatio(pdf, 1.0f);

但此代码不适用于视频和音频文件。我是否需要添加一种 if-else 语句来根据其格式安排文件的预览?提前谢谢你。

【问题讨论】:

  • 您好 Lena,您应该指定预览的含义。上面的代码也适用于其他格式(当您使用正确的 mime 类型时)。但实际上这不是预览,而是在客户端上显示(然后流式传输整个资源)。预览通常类似于缩略图或类似的少量数据
  • 嗨,安德烈!对此感到抱歉。事实上,我的意思是展示。无论如何,我都找不到正确的视频和音频显示解决方案,这样的代码不起作用: Video sample = new Video();最终资源 mp4Resource = file.downloadFileFromDatabase(); sample.setSources(mp4Resource)

标签: java vaadin preview


【解决方案1】:

可以从 vaadin 播放视频,为此存在 Video 类。
但由于它呈现一个 html5 <video> 标签,它需要 url 作为视频源。除此之外,您还需要一个支持视频标签的浏览器,以及您的视频所具有的特定视频编码。

这可以帮助播放器元素控制播放:

https://vaadin.com/directory#!addon/mediaelementjs-player

这里有更多信息可用于调试您的潜在问题:

https://vaadin.com/forum#!/thread/2445276

【讨论】:

  • 我真正不明白的是 tt:我删除了我所有的 java 代码,试图初始化播放器并播放视频或音频。 pom.xml 中只剩下 vaadin 插件 mediaelementjs-player 的依赖项。令我惊讶的是,当我不小心点击了文件时——它开始播放视频和声音。这个怎么可能?此外,这适用于 Firefox,不适用于 chrome。为什么?谢谢你!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-08
  • 2010-09-15
  • 2016-05-30
  • 2011-10-07
  • 2011-01-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多