簡體   English   中英

如何使用檢票口在模態中上傳文件

[英]How to Upload a File Inside a Modal using wicket

我嘗試使用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));
                    }
                }

這是我在模態中的代碼

AjaxLink 提交表單,所以什么也不會傳送到服務器。 您需要AjaxButtonAjaxSubmitLink

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM