如何在不使用flash或java applet的情况下使用jsf(或primefaces)过滤OS文件选择器中的文件?
我正在谈论可以这样做的事情:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#attr-accept
如果我试着像这里举例说明的那样:
http://www.primefaces.org/showcase/ui/fileUploadDnd.jsf
文件选择器不会过滤。
我不关心不支持此HTML属性的浏览器的兼容性。
我有兴趣让浏览器从一开始就输出正确的HTML。如果我可以用纯HTML做,我想用纯HTML做。
答案 0 :(得分:1)
你可以通过为该组件实现自定义渲染来实现它......但它不值得......
由于多文件上传组件是jQuery-File-Upload插件, 您可以使用文件输入字段的accept属性来限制文件类型选择, Internet Explorer 10,Firefox,Opera,Chrome和Safari 6中的accept属性为supported。
使用jQuery将文件限制为图像的示例(假设您的fileUpload widgetVar是fileUploadWV):
<script>
$(function() {
// setTimeout waits till the widgetVar is ready!
setTimeout(PF('fileUploadWV').jq.find('input:file').attr('accept', 'image/*'), 2000);
});
</script>
了解更多信息:
希望这有帮助。