2013-12-12 2 views
2

이상 걸리는 beforePageLoad 이벤트에서 자바 클래스를 호출하여 XPage를 만들었습니다.UploadedFile 및 여러 파일 업로드 중?

자바 클래스에서 하나 이상의 파일 업로드 (여러 파일 업로드 컨트롤이있는 HTML 양식을 통해 모두 동일한 이름 인 file)를 수신하고 싶습니다.

이 작동 :

Map parameters = request.getParameterMap(); 
UploadedFile file = (UploadedFile) parameters.get("file"); 

이 작동하지 않습니다 그래서

Map parameters = request.getParameterMap(); 
UploadedFile[] files = (UploadedFile[]) parameters.get("file"); 

내 질문입니다 : 어떻게 더 통해 자바 클래스와 루프에서 첫 번째 업로드 된 파일보다 얻을 수 있습니다 그들 각각을 처리할까요? 가정

답변

2

, 당신의 Map parameters 그런 다음

for (Entry entry : parameters.entrySet()) { 
    System.out.println("parameter: " + entry.getKey()); 
    if (entry.getValue() instanceof UploadedFile) { 
     UploadedFile file = entry.getValue(); 
     // work with file 
    } 
} 
+0

감사합니다, 크 누트와 그들 모두를 얻을 수있는 모든 UploadedFiles이 포함되어 있습니다. 나는 이것을 잠시 동안 실제로 생각했지만 가능한 한 쉬운 접근법을 원했습니다. 모든 파일은 'file'필드에 업로드되므로 UploadedFile 목록을 가져올 수 있다고 가정했습니다. 그게 가능한지 아십니까? – KimHansen

+0

이것은 불가능합니다. 나는 여러 번 동일한 필드를 가지고 있으며, 첫 번째 필드 만 처리됩니다. 서버는 요청 당 하나의 파일 만 "추출"합니다. –

+0

그래서 동일한 필드 이름을 가진 모든 업로드 된 파일의 목록을 가져올 수 없습니다. 그래서 Knut과 같은 루프를 사용해야하고 그 다음에는 동일한 필드 이름으로 업로드 된 개별 파일을 얻을 수 있습니다. 아니면 한 번에 하나의 파일 만 업로드 할 수 있다고 말하는가? @SvenHasselbach? – KimHansen