我创建了一个XPage,调用了beforePageLoad
事件中接管的Java类。
在Java类中,我希望收到一个或多个文件上传(通过带有多个文件上传控件的HTML表单,所有文件都具有相同的名称file
)。
这有效:
Map parameters = request.getParameterMap();
UploadedFile file = (UploadedFile) parameters.get("file");
这不起作用:
Map parameters = request.getParameterMap();
UploadedFile[] files = (UploadedFile[]) parameters.get("file");
所以我的问题是:如何从Java类中获取超过第一个上传的文件并循环并处理它们?
答案 0 :(得分:2)
假设您的Map parameters
包含所有UploadedFiles,那么您可以使用
for (Entry entry : parameters.entrySet()) {
System.out.println("parameter: " + entry.getKey());
if (entry.getValue() instanceof UploadedFile) {
UploadedFile file = entry.getValue();
// work with file
}
}