使用FileFilter上传Vaadin文件
我使用的是Vaadin框架。我只需要上传PDF、JAR和ZIP格式的文件。我试过使用这个代码。这个代码也是我从堆栈溢出中得到的使用FileFilter上传Vaadin文件,vaadin,Vaadin,我使用的是Vaadin框架。我只需要上传PDF、JAR和ZIP格式的文件。我试过使用这个代码。这个代码也是我从堆栈溢出中得到的 public void uploadStarted(StartedEvent event) { // TODO Auto-generated method stub System.out.println("***Upload: uploadStarted()"); Arra
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", "");
}
public void上载已启动(StartedEvent事件){
//TODO自动生成的方法存根
System.out.println(“***Upload:uploadStarted()”);
ArrayList allowedMimeTypes=新ArrayList();
allowedMimeTypes.add(“应用程序/java存档”);
allowedMimeTypes.add(“application/pdf”);
allowedMimeTypes.add(“应用程序/zip”);
字符串contentType=event.getMIMEType();
允许布尔值=false;
System.out.println(“”:contentType:
+内容类型);
对于(int i=0;i
这在上传PDf文件时有效,在上传Zip或Jar文件以及显示NULLPOINTER异常的任何其他文件时有效。
请帮帮我。瓦丁有一个特别的上传组件,很容易使用。在《瓦丁书》中有一整章都与这个组件相关
在Vaadin 14中,在类
上传中有一种方法设置AcceptedFileTypes
:
MemoryBuffer buffer = new MemoryBuffer();
Upload upload = new Upload(buffer);
upload.setAcceptedFileTypes(new String[]{"application/zip", "application/pdf", "application/java-archive"});
方法setAcceptedFileTypes
在
元素处设置HTML属性accept
,因此限制/过滤应用程序用户可以上载的内容。请显示异常的完整堆栈跟踪欢迎使用堆栈溢出。这不是一种在此处提问的好方法。实际上,不清楚您的问题和疑问都是。请阅读,作为一个开始。这对我没有帮助。我需要过滤文件。你能调试你的代码并说出哪一行有NPE吗?谢谢你的回答。原因是:com.vaadin.ui.Upload$1.getOutputStream(Upload.java:1007)位于com.vaadin.terminal.gwt.server.AbstractCommunicationManager.streamToReceiver(AbstractCommunicationManager.java:562)…22more@mchinta你有没有得到任何解决方案,我在上传文件时遇到了类似的异常,在我的情况下,它是任何文件,无论是.png还是.pdf。