file-upload - 上传按钮 Vaadin 的接收者

标签 file-upload vaadin vaadin7 receiver

我正在尝试上传文件。它上传正常,但上传时显示所有文件。我想仅限于选定的文件,例如 pdf,jpgjpeg 文件。

我需要在上传文件时,当浏览器窗口打开时,只有这些文件可见,其余文件应该隐藏。这样用户就无法选择错误的文件。

谁能告诉我该怎么做?

我正在使用 Vaadin 7.5.1 和上传组件以及接收器。

最佳答案

当前Vaadin Upload component不支持这个。有一个enhancement request对于 Vaadin Inc(或贡献者)来说,既然所有主要浏览器都支持此功能,那么实现它就非常容易了。

以下是技术说明:Vaadin Upload 组件创建如下 HTML:

<input type="file" name="foo">

但是你希望它产生的结果是这样的:

<input type="file" name="foo" accept=".pdf,.jpg,.jpeg">

以下是上述 HTML 在 Firefox 中的外观:

enter image description here

基本上,accept 属性会告诉浏览器打开带有特定过滤器的文件选择对话框。

请注意,这是客户端的事情。它不会阻止精明的最终用户将与您的过滤器不匹配的内容上传到您的服务器。这适用于在客户端进行的任何类型的过滤,无论它是如何完成的。因此,您仍然需要一些服务器端验证。

关于file-upload - 上传按钮 Vaadin 的接收者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36475278/

相关文章:

c# - asp.net上传图片

python - 如何在保存之前获取 Django ImageField 的内容?

javascript - Jquery/Javascript 在没有后端的情况下上传和下载文件

php - 直接解析文件上传,不写入文件系统

java - Vaadin 中必填文本字段中的只读属性会删除星号 (*)

java - 如果字段存在验证错误,如何防止 ClickEvent 传播?

瓦丁 7 : How to import JS files from custom path?

spring - 当 session 未锁定时无法从父级中删除

java - VaadIN 组合框 BeanContainer

java - 使用 ui 作为 View 的容器