Как использовать GWT fileupload? - PullRequest
3 голосов
/ 25 августа 2011

У меня есть несколько запросов при попытке реализовать виджет загрузки файла в моем приложении. После многих попыток это просто не работает.

Поэтому я попытался найти рабочие решения, чтобы понять, смогу ли я что-нибудь понять оттуда.

http://code.google.com/p/faculty-gwt/source/checkout

Однако я попытался загрузить файл, используя это, и, похоже, я тоже получаю сообщения об ошибках. и что предполагается делать этим текстовым полем и списком? Он предназначен для показа примера проверки ввода перед отправкой?

Может кто-нибудь помочь мне решить это? Благодаря.

1 Ответ

2 голосов
/ 25 августа 2011

Никогда не пытался использовать предоставленную вами ссылку, но это то, что я сделал, чтобы использовать виджет GWT FileUpload:

Я создал виджет загрузки файлов, используя uibinder:

<g:FormPanel ui:field="docForm">
    <g:FlowPanel ui:field="inputPane">
        /*other displayed info*/
        <g:FileUpload ui:field="DocPath"/>
        /*other displayed info*/
    </g:FlowPanel>
</g:FormPanel>

(Согласно API GWT виджеты FileUpload могут использоваться только из FormPanel)

Убедитесь, что вы установили их в FormPanel, иначе у вас, вероятно, будут проблемы:

    yourFormPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
    yourFormPanel.setMethod(FormPanel.METHOD_POST);

Этот виджетпереносится на страницу моего контейнера, а затем добавляется на панель дисплея:

private FileUploadWidget createNewUploader(){
    FileUploadWidget uploader = new FileUploadWidget(/*my constructor params*/);

    uploader.addChangeHandler(new ChangeHandler() {         
        @Override
        public void onChange(ChangeEvent event) {
            DocPanel.add(createNewUploader());
        }
    });

    return uploader;
}

Мое событие OnChange таково, что у меня появляется новый пустой загрузчик, когда я использую текущий.

и когда я буду готов представить:

private void processUpload(FileUploadWidget upload, int id) {
    upload.setId(id);
    //Don't bother to submit an empty one.
    if (upload.IsFileSelected())
        upload.Submit();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...