<rich:fileUpload fileUploadListener="# {bean.fileUploadAction}"
immediateUpload="true" acceptedTypes="xls" maxFilesQuantity="1">
</rich:fileUpload>
在富文件上传我给了acceptedTypes =“xls”,但在文件选择框中的“添加”文件类型显示全部。我想将它限制为只有一些特定的格式我该怎么做。 任何形式的帮助都是适当的,提前谢谢..
答案 0 :(得分:2)
只有当它生成以下HTML(并且该页面由HTML5兼容的webbrowser打开)时才有可能:
<input type="file" ... accept="application/vnd.ms-excel" />
然而,it doesn't do that。相反,它会生成一个简单的HTML4兼容<input type="file">
而没有accept
属性,并通过JavaScript对所选文件进行文件扩展名检查。
所以你在这里运气不好。您基本上需要将<rich:fileUpload>
替换为另一个组件,该组件会在accept
上设置正确的<input type="file">
属性,生成所需的HTML。据我所知,目前还没有一个JSF组件库提供这样的组件。你可能需要自己生长。
答案 1 :(得分:2)
这种替代方式可以在一定程度上解决您的问题。在onclick
组件中添加<rich:fileUpload
个活动,如下所示。
<rich:fileUpload onclick="this.getElementsByTagName('input')[0].setAttribute('accept', 'application/vnd.ms-excel');" fileUploadListener="# {bean.fileUploadAction}"
immediateUpload="true" maxFilesQuantity="1">
</rich:fileUpload>