1

嗨,伙计们,我是java的初学者。我目前在 apache wicket 工作,这是一个基于 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);

}

}

4

1 回答 1

2

是的,有MultiFileUploadField,但请注意,它只允许您一个一个地选择一些文件。(打开对话框->选择文件->按“打开”->打开对话框->选择文件...)。这里的工作示例。单击“源代码”链接以查看...源代码。

还有 HTML5 解决方案,它允许您一次选择多个文件。了,最后一个。请注意,它不适用于 html 版本 < 5。

不,由于安全问题,您无法获取父文件夹路径。(这不是关于检票口,这是关于网络开发)。

于 2014-10-07T07:14:17.507 回答