1

こんにちはみんな私はJavaの初心者です。私は現在、Java ベースのフレームワークである apache wicket で作業しています。特定のフォルダー内の複数のファイルを選択してアップロードするための読み込みボタンを作成しようとしています。単一のファイルを選択してアップロードできるこのコードを既に持っていますが、複数のファイルを同じように選択してアップロードするのに混乱しています。

前もって感謝します

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、一部のファイルを 1 つずつしか選択できないことに注意してください。(ダイアログを開く->ファイルを選択->「開く」を押す->ダイアログを開く->ファイルを選択...)。ここでの作業例。「ソース コード」リンクをクリックすると、ソース コードが表示されます。

一度に複数のファイルを選択できる HTML5 ソリューションもあります。これで、最後です。html バージョン < 5 では動作しないことに注意してください。

いいえ、セキュリティ上の問題により、親フォルダーのパスを取得することはできません。(改札についてではなく、これは Web 開発についてです)。

于 2014-10-07T07:14:17.507 に答える