我正在尝试上传文件。它上传正常,但上传时显示所有文件。我想仅限于选定的文件,例如 pdf,jpg
和 jpeg
文件。
我需要在上传文件时,当浏览器窗口打开时,只有这些文件可见,其余文件应该隐藏。这样用户就无法选择错误的文件。
谁能告诉我该怎么做?
我正在使用 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 中的外观:
基本上,accept
属性会告诉浏览器打开带有特定过滤器的文件选择对话框。
请注意,这是客户端的事情。它不会阻止精明的最终用户将与您的过滤器不匹配的内容上传到您的服务器。这适用于在客户端进行的任何类型的过滤,无论它是如何完成的。因此,您仍然需要一些服务器端验证。
关于file-upload - 上传按钮 Vaadin 的接收者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36475278/