2014-10-07 3 views
1

안녕 얘들 아, 나는 자바 초보자입니다. 나는 현재 자바 기반 프레임 워크 인 apache wicket에서 작업 중이다. 특정 폴더의 여러 파일을 선택하고 업로드하기위한로드 버튼을 만들려고합니다. 나는 이미 하나의 파일을 선택하고 업로드 할 수 있지만이 파일을 선택하고 여러 파일을 업로드하는 것을 혼란스럽게하는이 코드를 가지고있다. 사전어떻게 사용자가 선택하고 prticular 폴더에 여러 파일을 업로드하고 자바에서 폴더의 경로를 얻을 수

public class HomePage extends WebPage { 

private FileUploadField fileUpload; 
private String UPLOAD_FOLDER = "C:\\"; 

public HomePage(final PageParameters parameters) { 

    add(new FeedbackPanel("feedback")); 

    Form<?> form = new Form<Void>("form") { 
     @Override 
     protected void onSubmit() { 

      final FileUpload uploadedFile = fileUpload.getFileUpload(); 
      if (uploadedFile != null) { 

       //write to a new file 
       File newFile = new File(UPLOAD_FOLDER 
         + uploadedFile.getClientFileName()); 

       if (newFile.exists()) { 
        newFile.delete(); 
       } 

       try { 
        newFile.createNewFile(); 
        uploadedFile.writeTo(newFile); 

       ///file which is diplayed after uploading 
       info("" + uploadedFile.getClientFileName()); 
       } 
       catch (Exception e) 
       { 
        throw new IllegalStateException("Error"); 
       } 
      } 

     } 

    }; 

    // Enable multipart mode (need for uploads file) 
    form.setMultiPart(true); 

    // max upload size, 10k 
    form.setMaxSize(Bytes.kilobytes(1000)); 

    form.add(fileUpload = new FileUploadField("fileUpload")); 

    add(form); 

} 

}에서

덕분에

+0

나는 당신이'MultiFileUploadField'이 ... 여기를 참조하십시오 필요가 있다고 생각 : http://ci.apache.org/projects/wicket/apidocs/6.0.x/org/apache/wicket/markup/html/form/upload /MultiFileUploadField.html – RobAu

답변

2

네, MultiFileUploadField이지만, 당신이 하나 하나 일부 파일을 선택할 수 있습니다. (대화 상자 열기 -> 파일 선택 -> '열기'-> 대화 상자 열기 -> 파일 선택 ...). 작업 예 here. 소스 코드를 보려면 "소스 코드"링크를 클릭하십시오.

여러 파일을 한 번에 선택할 수있는 HTML5 솔루션도 있습니다. Here 마지막입니다. 참고로 html 버전 <에서 작동하지 않습니다.

아니요. 보안 문제로 인해 상위 폴더 경로를 가져올 수 없습니다. (그것은 개찰에 관한 것이 아니라 웹 개발에 관한 것입니다).