フォルダ指定のアップロード

HTML5 input の webkitdirectory 付与は、Google chrome と Fire Fox しか今のところ使えないが、、
Wicket でこれを受信するのは、FileUploadField コンポーネントの getFileUploads() で
List<FileUpload> を受け取ることになる。

<input wicket:id="uploadfile" id="uploadfile" type="file" webkitdirectory>

Wikcet

final FileUploadField fileuploadField = new FileUploadField("uploadfile");
queue(fileuploadField);
queue(new Button("submit").add(AjaxFormSubmitBehavior.onSubmit("click", t->{
   fileuploadField.getFileUploads().stream().forEach(f->{
      // f.getClientFileName());
      // f.getSize()  byte
      // Bytes.bytes(f.getSize()).toString()  KByte
      // f.getInputStream()
   });
})));

フォルダを選択した時の change イベントで JavaScript 上では以下のように
情報を読み取る。

$(function(){
   $("#uploadfile").change(function(ev) {
      for(var i=0; i < ev.target.files.length; i++){
         var file = ev.target.files[i];
         console.log(file);
         // ディレクトリの相対パス
         var path = file.webkitRelativePath;
         console.log([" + path + "]");
      }
   });
});