在我的GWT项目中,我想:
为FileUpload小部件设置一个过滤器,使其只接受JPG文件。
如果名为myButton
的FileUpload小部件选择了任何文件,则启用chooser
。否则禁用myButton
。
这是我的第2点的代码,但它不起作用。有任何想法吗?提前谢谢!
chooser.addAttachHandler(new Handler() {
public void onAttachOrDetach(AttachEvent event) {
if(chooser.isAttached()==false && myButton.isEnabled()==true)
myButton.setEnabled(false);
else if(chooser.isAttached()==true && myButton.isEnabled()==false)
myButton.setEnabled(true);
} });
答案 0 :(得分:3)
我包含了如下所示的一行:
fileUpload.getElement().setAttribute("accept", "image/png, image/gif,image/jpeg");
使用gwt FileUpload
对我有用答案 1 :(得分:2)
@Point 1:我认为,无法过滤,可以选择哪些文件。对我来说唯一的方法是在表单处理程序中进行比较,例如:
form.addFormHandler(new FormHandler(){
public void onSubmit(FormSubmitEvent event){
if(!extension.equals("pdf")) {
// Error
} else {
// Submit
}
}
}
另一种解决方案是将ExtGWT与FileValidator一起使用:
fileUpload = new FileUploadField();
fileUpload.setWidth("240");
fileUpload.setValidator(new FileValidator());
fileUpload.setName("file");
fileUpload.setAccept("pdf");
@Point 2:chooser.isAttached()是错误的条件imho ....如果输入字段为空,则需要检查。