GWT fileupload, файл не отправляется в POST - PullRequest
4 голосов
/ 28 марта 2012

Я борюсь с простой загрузкой файлов с использованием библиотеки GWT 2.4 + gwtupload 0.6.4.

Вот соответствующая часть моего диалога ui.xml:

<g:DialogBox modal="true" width="400px" height="150px">
        <g:caption><ui:msg>Import new..</ui:msg></g:caption>
        <g:VerticalPanel styleName="full-width">
            <g:InlineLabel styleName="formlabel"><ui:msg>File name</ui:msg></g:InlineLabel>
            <up:Uploader ui:field="uploader" validExtensions="zip" styleName="uploader full-width">
            </up:Uploader>
            <g:Button styleName="button" ui:field="importButton" enabled="true">
                <ui:msg>Import</ui:msg>
            </g:Button>

importButton вызывает uploader.submit() в конце концов. Моя проблема в том, что при первом нажатии кнопки пустой сервер POST отправляется на сервер, и я получаю сообщение об ошибке. Если я нажму кнопку во второй раз, мой файл будет хорошо обработан. Если я закрою диалог и начну все сначала, произойдет то же самое. Все попытки импорта, следующие за первой, в порядке.

Вот пустой пример POST:

Content-Type: multipart/form-data;
boundary=---------------------------9003259118762
Content-Length: 46 -----------------------------9003259118762--

Я попытался второй раз нажать на кнопку в качестве обходного пути. Однако, если я улавливаю полученное сообщение об ошибке и снова вызываю uploader.submit() или вызываю его даже из Timer() обратного вызова, он не работает, как при повторном щелчке мышью.

У вас есть идеи, что может быть не так?

1 Ответ

1 голос
/ 29 марта 2012

Решением было то, что через несколько строк после uploader.submit() был uploader.setEnabled(false) вызов После удаления загрузчик начал нормально работать ..: -)

...