Мы используем 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);
...