2014-10-07 104 views
1

嗨,夥計們,我是java的初學者。我目前在apache wicket中工作,這是一個基於java的框架。我正在嘗試創建一個加載按鈕來選擇並上傳特定文件夾中的多個文件。我已經有這段代碼使用我可以選擇和上傳單個文件,但我很困惑做相同的選擇和上傳多個文件。如何允許用戶選擇並上傳多個文件在特定文件夾中並獲取java文件夾的路徑

在此先感謝

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 2014-10-07 07:00:11

回答

2

是的,有MultiFileUploadField,但請注意,它可以讓你選擇一些文件只有一個接一個。 (打開對話框 - >選擇文件 - >按'打開' - >打開對話框 - >選擇文件...)。工作示例here。點擊「源代碼」鏈接查看源代碼。

還有HTML5解決方案,它允許您一次選擇多個文件。 Here它是最後一個。請注意,它不能在html版本中工作< 5.

而不是,由於安全問題,您無法獲取父文件夾路徑。 (這不是關於wicket,這是關於web開發)。

相關問題