注册 登录
编程论坛 J2EE论坛

[讨论]小弟刚学JSP。遇到了一个很麻烦的问题

寂寞尘埃 发布于 2006-03-14 21:33, 614 次点击
在使用Fileupload组件上传文件是时候,上传后的文件全都打不开。文件名称和大小都没改变。属性也没变。。但就是打不开。如果是图片就不能显示。是压缩文件就不能解压,说什么文件已被破坏。。搞了两天 都不知道是哪里错了!高手救命啊!附上源码:

<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Iterator" %>
<%@ page import="java.io.File" %>
<%@ page contentType="text/html;charset=gb2312" %>
<%
String temp=getServletContext().getRealPath("/")+"temp"; //临时目录
String loadpath=getServletContext().getRealPath("/")+"upload"; //上传文件存放目录
DiskFileUpload fu = new DiskFileUpload();
fu.setSizeMax(10000000); // 设置允许用户上传文件大小,单位:字节
fu.setSizeThreshold(40960); // 设置最多只允许在内存中存储的数据,单位:字节
fu.setRepositoryPath(temp); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录

//开始读取上传信息
List fileItems = fu.parseRequest(request);
Iterator iter = fileItems.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();// 忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
String name = item.getName();//获取上传文件名,包括路径
name=name.substring(name.lastIndexOf("\\")+1);//从全路径中提取文件名
out.println(name);
long size = item.getSize();
if((name==null||name.equals("")) && size==0)
continue;
out.println(item.getName()+" Size="+item.getSize()+"<br>");//输出上传文件信息

File fNew= new File(loadpath, name);

item.write(fNew).tostring();

}
}
%>
2 回复
#2
yanghl2006-03-18 13:22
太深了
#3
wangtaobig2006-03-19 22:49
你的代码没什么大的问题!正常是没有问题的!你在看看是不是别的问题,如你用的包!
1