【问题标题】:How to Upload a File Inside a Modal using wicket如何使用 wicket 在模态框内上传文件
【发布时间】:2017-06-05 05:45:09
【问题描述】:

我尝试使用 Wicket 模态窗口来设置实体的 PropertyModel。问题是这个实体有一个 FIleUploadFields,我读到它不适用于 Ajax。我需要在模态框内使用 AjaxSubmitLink,但我无法正常工作。

setMultiPart(true);

setMaxSize(Bytes.megabytes(100));

fileUpload = new FileUploadField("fileUpload");

fileUpload.setOutputMarkupId(true);
fileUpload.setOutputMarkupPlaceholderTag(true);
add(fileUpload);

save_btn = new AjaxLink("save_btn") {

            @Override
            public void onClick(AjaxRequestTarget art) {


                final FileUpload uploadedFile = fileUpload.getFileUpload();
                if (uploadedFile != null && uploadedFile.getSize() > 0) {
                    try {
                        if (GestioneDocumentiDcs.isTextDocument(uploadedFile)) {
                            String ext = GestioneDocumentiDcs.getTextExtension(uploadedFile.getContentType());

                            String nomeFile = "c_" + _corso.getId() + "_m_" + materialeCorso.getId() + ext;
                            byte[] b = ByteStreams.toByteArray(uploadedFile.getInputStream());
                            gd.salvaFile(b, gd.getPathCorso(_corso) + "/" + nomeFile);
                            materialeCorso.setPercorso(nomeFile);
                            materialeCorso.setDimensione(uploadedFile.getSize());
                            materialeCorso.setDataUpload(LocalDate.now());
                        }
                    } catch (Exception e) {
                        System.out.println("ERRORE: " + Utils.StampaStackError(e));
                    }
                }

这是我在 Modal 中的代码

【问题讨论】:

    标签: java ajax file-upload wicket


    【解决方案1】:

    AjaxLink 确实提交表单,因此不会将任何内容传输到服务器。您需要AjaxButtonAjaxSubmitLink

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-15
      • 1970-01-01
      • 2010-11-16
      • 2014-07-23
      • 2010-12-18
      • 2018-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多