文件上传的过滤器和处理程序

发布于 2024-11-26 05:21:59 字数 578 浏览 1 评论 0原文

在我的 GWT 项目中,我想要:

  1. 为 FileUpload 小部件设置一个过滤器,以便它只接受 JPG 文件。

  2. 如果名为chooser的FileUpload小部件选择了任何文件,则启用myButton。否则禁用 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);
} });

In my GWT project I would like to:

  1. Set a filter for the FileUpload widget so that it only accepts JPG files.

  2. Enable myButton if the FileUpload widget, called chooser, has any file choosen. And disable myButton otherwise.

This is my code for point 2, but it does not work. Any ideas? Thanks in advance!

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);
} });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

-黛色若梦 2024-12-03 05:21:59

我添加了如下一行:

fileUpload.getElement().setAttribute("accept", "image/png, image/gif,image/jpeg");

使用 gwt FileUpload 确实对我有用

I included a line like the one below:

fileUpload.getElement().setAttribute("accept", "image/png, image/gif,image/jpeg");

It did work for me using gwt FileUpload

风吹雪碎 2024-12-03 05:21:59

@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:chouser.isAttached() 是错误的条件恕我直言......您需要检查,如果输入字段为空。

@Point 1: i think, is not possible to filter, which files can be choosed. The only one way for me is compare in the form handler, for example:

form.addFormHandler(new FormHandler(){
    public void onSubmit(FormSubmitEvent event){
      if(!extension.equals("pdf")) {
         // Error
      } else {
         // Submit
      }
    }
}

Another solution is to use ExtGWT with FileValidator:

fileUpload = new FileUploadField();
fileUpload.setWidth("240");
fileUpload.setValidator(new FileValidator());
fileUpload.setName("file");
fileUpload.setAccept("pdf");

@Point 2: the chooser.isAttached() is wrong condition imho....you need to check, if the input field is empty.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文