Загрузка файла в GXT дискриминирует определенные типы файлов - PullRequest
1 голос
/ 05 мая 2010

Мы используем GXT (EXT + GWT) и утилиту загрузки файлов Apache commons. У нас есть загрузка файлов, но некоторые типы не загружаются, например, текстовые файлы. Даже если расширение текстовых файлов изменилось, они все равно не загружаются.

В методе FileUploadBase.parseRequest этот код, по-видимому, найден для пропуска входного потока от копирования в файловую систему. Я попытался выделить жирным шрифтом код iter.hasNext (), который пропускает строку кода stream.copy при остановке загрузки текстового файла.

Любой совет будет оценен!

Заранее спасибо.

    public List /* FileItem */ parseRequest(RequestContext ctx)
        throws FileUploadException {
    try {
        FileItemIterator **iter = getItemIterator(ctx)**;
        List items = new ArrayList();
        FileItemFactory fac = getFileItemFactory();
        if (fac == null) {
            throw new NullPointerException(
                "No FileItemFactory has been set.");
        }
        while (**iter.hasNext()**) {
            FileItemStream item = iter.next();
            FileItem fileItem = fac.createItem(item.getFieldName(),
                    item.getContentType(), item.isFormField(),
                    item.getName());
            try {
                Streams.copy(item.openStream(), fileItem.getOutputStream(),
                        true);
...

1 Ответ

0 голосов
/ 08 июня 2011

Это не ответит на ваш вопрос, но я могу найти полезным рассказать о хорошей библиотеке для загрузки файлов в GWT
GWTUpload - это библиотека для загрузки файлов на веб-серверы, показывающая индикатор выполнения с реальной информацией о процессе (размер файла, количество переданных байтов и т. Д.). Он использует ajax-запросы для запроса веб-сервера о ходе загрузки. Он состоит из двух компонентов, написанных на Java, серверной части с классами сервлетов и утилит и клиентской части, которая скомпилирована в javascript с использованием gwt. здесь

...