Калитка: Загрузить файл с помощью AJAX в модальном окне - PullRequest
0 голосов
/ 22 мая 2011

Мне нужно выполнить загрузку файла, нажав кнопку Ajax в модальном окне.У меня проблема, потому что файл загружен, но процесс загрузки не завершен, и форма не может быть обновлена ​​с fileName.Существует AjaxIndicator, который нельзя скрыть после загрузки файла.Модальное окно реализовано в виде панели.Вот код:

uploadFile=new IndicatingAjaxButton("uploadFile"){

private static final long serialVersionUID = 1L;

@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) 
{
        uploadFile.getAjaxIndicatorMarkupId();
    FileUpload fileUpload =      
                  ((FileUploadFieldPanel)uploadPanel).getUploadField().getFileUpload();
    if (fileUpload != null) 
    {
            String fileName = fileUpload.getClientFileName();
            String path = uploadpath + relativeuploadpath;
        File newFile = new File(path, fileName);
        checkFileExists(newFile);
        try {
            newFile.createNewFile();
            fileUpload.writeTo(newFile);
        }  
        catch (IOException e) {
            e.printStackTrace();
        } 
        titleField.setModelObject(fileName);
        target.addComponent(titleField);
    }
};
    uploadFile.setOutputMarkupId(true);
form.add(uploadFile);

Вопрос: как я могу обновить titleField в форме с именем файла?В этом случае "target.addComponent (titleField);"не работает.

1 Ответ

0 голосов
/ 31 августа 2011

Кажется, есть руководство по этой проблеме на http://www.dooriented.com/blog/2008/04/23/wicket-ajax-like-file-upload-on-a-modal-window/.

...