【问题标题】:Vaadin File Uploading using FileFilter使用 FileFilter 上传 Vaadin 文件
【发布时间】:2015-03-13 07:30:22
【问题描述】:

我正在使用 Vaadin 框架。我只需要上传 PDF、JAR 和 ZIP 格式的文件。我尝试使用此代码。此代码也是我从 STACK OVER FLOW 中获得的。

public void uploadStarted(StartedEvent event) {
                // TODO Auto-generated method stub
                System.out.println("***Upload: uploadStarted()");

                ArrayList<String> allowedMimeTypes = new ArrayList<String>();
                allowedMimeTypes.add("application/java-archive");
                allowedMimeTypes.add("application/pdf");
                allowedMimeTypes.add("application/zip");
                String contentType = event.getMIMEType();
                boolean allowed = false;
                System.out.println(":::::::::::::contentType::::::"
                        + contentType);
                for (int i = 0; i < allowedMimeTypes.size(); i++) {

                    if (contentType.equalsIgnoreCase(allowedMimeTypes.get(i))) {

                        allowed = true;
                        break;
                    }

                }
                try {
                    if (allowed) {
                        System.out.println("boolean value:::::::allowed"
                                + allowed);
                        finalDeedUpload.setReceiver(finalDeedFileUploadHandler);
                        finalDeedUpload.addListener(finalDeedFileUploadHandler);

                    } else {

                        showWarningNotification(
                                "Error:Please Upload File in Given Format", "");

                    }

这在上传 PDf 文件时有效,在上传 Zip 或 Jar 文件以及任何其他显示 NULLPOINTER EXCEPTION 的文件时有效。 请帮帮我。

【问题讨论】:

  • 请显示异常的完整堆栈跟踪
  • 欢迎来到 Stack Overflow。这不是在这里提问的好方法。事实上,目前尚不清楚您的问题和问题是什么。请先阅读FAQHow to Askhelp center

标签: vaadin


【解决方案1】:

Vaadin 有一个易于使用的特殊上传组件。 Vaadin 中有一整章与此组件相关。

https://vaadin.com/book/-/page/components.upload.html

【讨论】:

  • 这对我没有帮助。我需要过滤文件。
  • 你能调试你的代码并说出NPE在哪一行吗?
  • 感谢您的回复。
  • 引起:com.vaadin.ui.Upload$1.getOutputStream(Upload.java:1007) at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.streamToReceiver(AbstractCommunicationManager) 的 java.lang.NullPointerException .java:562) ... 22 更多
  • @mchinta 你有什么解决方案吗,我在上传文件时遇到了类似的异常,在我的情况下,它是任何文件,无论是 .png 还是 .pdf。
【解决方案2】:

在 Vaadin 14 中,Upload 类中有一个方法 setAcceptedFileTypes

MemoryBuffer buffer = new MemoryBuffer();
Upload upload = new Upload(buffer);
upload.setAcceptedFileTypes(new String[]{"application/zip", "application/pdf", "application/java-archive"});

方法setAcceptedFileTypes&lt;input type="file"&gt; 元素处设置HTML 属性accept,因此限制/过滤应用程序用户可以上传的内容。

【讨论】:

    猜你喜欢
    • 2013-06-01
    • 2015-11-09
    • 2021-10-26
    • 2014-09-10
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 2019-01-30
    相关资源
    最近更新 更多