GXT (EXT + GWT) と Apache commons ファイル アップロード サーブレット ユーティリティを使用しています。ファイルのアップロードは機能していますが、テキスト ファイルなどの特定のタイプがアップロードされません。テキスト ファイルの拡張子が変更されていても、アップロードされません。
FileUploadBase.parseRequest メソッドでは、これは入力ストリームがファイル システムにコピーされるのをスキップするように見えるコードです。テキスト ファイルのアップロードをブレーク ポイントするときにコードの stream.copy 行をスキップする iter.hasNext() コードを太字にしてみました。
アドバイスをいただければ幸いです。
前もって感謝します。
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);
...