我有一个FileUploadField组件,我想只上传*.css*.html文件。但是现在,我可以上传任何类型的文件了。如何设置文件扩展名到该组件?我的代码和平:

FileUploadField ret = new FileUploadField("uploadField");
ret.setRequired(true);
form.add(fileUploadField);


谢谢!

最佳答案

请注意,accept仅在现代浏览器(Documentation)中可用,并且您也必须在服务器端进行检查。

可能的解决方案:

FileUploadField ret = new FileUploadField("uploadField") {
    @Override
    protected void onComponentTag(ComponentTag tag)
    {
        // Default handling for component tag
        super.onComponentTag(tag);

        tag.put("accept", ".css,.html");
    }

    @Override
    public List<FileUpload> getFileUploads() {
        return filter(super.getFileUploads());
    }

    private List<FileUpload> filter(List<FileUpload> fileUploads) {
        // filter out all files with invalid extension
    }
};

关于java - 如何在Wicket,FileUploadField中设置文件扩展名?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20238075/

10-09 06:54