我正在使用Vaadin Framework。我需要以PDF,JAR和EX的格式上传文件。仅限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 OR Jar文件以及显示NULLPOINTER EXCEPTION的任何其他文件。 请帮帮我。
答案 0 :(得分:1)
Vaadin有一个易于使用的特殊上传组件。 Vaadin书中有一整章与这个组成部分有关。
答案 1 :(得分:0)
在 Vaadin 14 中,类 setAcceptedFileTypes
中有一个方法 Upload
:
MemoryBuffer buffer = new MemoryBuffer();
Upload upload = new Upload(buffer);
upload.setAcceptedFileTypes(new String[]{"application/zip", "application/pdf", "application/java-archive"});
方法 setAcceptedFileTypes
在 accept
元素处设置 HTML 属性 <input type="file">
,因此限制/过滤应用程序用户可以上传的内容。