我们正在使用 GXT (EXT + GWT) 和 Apache commons 文件上传 servlet 实用程序。我们有文件上传工作,但某些类型没有上传,例如,文本文件。即使文本文件的扩展名已更改,它们仍然不会上传。
在 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);
...