帮忙解决一下这个上传问题谢谢!

eumenides 2003-06-11 03:54:08
一个上传程序
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page language="java" import="com.jspsmart.upload.*"%>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload"/>
<HTML>
<HEAD>
<TITLE>文件上传</TITLE>
</HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
<%
mySmartUpload.initialize(pageContext);
mySmartUpload.upload();
int count=0;
for(int i=0;i<mySmartUpload.getFiles().getCount();i++){
//取出当前文件
com.jspsmart.upload.File myFile=mySmartUpload.getFiles().getFile(i);

//如果文件存在,则保存
if(!myFile.isMissing()){
//用虚拟路径保存
myFile.saveAs("upload/"+myFile.getFileName());
//显示文件相关信息
out.println("FieldName="+myFile.getFileName()+"<BR>");
out.println("Size="+myFile.getSize()+"<BR>");
out.println("FileName="+myFile.getFileName()+",");
out.println("FileExt="+myFile.getFileExt()+",");
out.println("FilePathName="+myFile.getFilePathName()+"<BR>");
out.println("contentType="+myFile.getContentType()+",");
out.println("contentDisp="+myFile.getContentDisp()+"<BR>");
out.println("TypeMIME="+myFile.getTypeMIME()+",");
out.println("SubTypeMIME="+myFile.getSubTypeMIME()+"<BR>");
out.println("<HR>");
count++;
}
}

//获取上传的其他信息
out.println("用getParameter方法获取<BR>");
out.println("File="+mySmartUpload.getRequest().getParameter("File")+"<BR>");
out.println("<HR>");

//用遍历的方法获取上传的其他信息
out.println("用遍历的方法获取<BR>");
java.util.Enumeration e=mySmartUpload.getRequest().getParameterNames();
while(e.hasMoreElements()) {
String key=(String)e.nextElement();
String[] values=mySmartUpload.getRequest().getParameterValues(key);

//取出当前参数值
for(int i=0;i<values.length;i++) {
out.print(key + "=" +values[i]+"<BR>");
}
}
%>

</BODY>
</HTML>
执行后(由一个前面Html链接过来)结果如下:
“用getParameter方法获取
File=null
用遍历的方法获取”
所取文件为空,怎么回事?我该怎么改?
如果需要看原htm文件,回贴时说一下,我马上粘过来,谢谢各位了!
...全文
46 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
DemonLeo 2003-06-12
  • 打赏
  • 举报
回复
它已经找到了要上传的文件名称了!
out.println("FieldName="+myFile.getFileName()+"<BR>");
eumenides 2003-06-12
  • 打赏
  • 举报
回复
阁下真乃神人也!佩服佩服!
五体投地!
leshui 2003-06-12
  • 打赏
  • 举报
回复
这样试试
不要起相同的名字
<p>上传文件:<input type="file" name="File" size=20></p>
<p>文件详细信息:<input type="text" name="text" size=30></p>
eumenides 2003-06-12
  • 打赏
  • 举报
回复
好像什么参数都没取到,文件也没有上传,但是不报错。执行后就是这样:
/*用getParameter方法获取
File=null
用遍历的方法获取
*/
这是Html的源文件:
<HTML>
<HEAD>
<TITLE>文件上传</TITLE>
</HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
<CENTER>文件上传</CENTER>
<form name=form1 enctype="MULTIPART/FORM-DATA" action="file.jsp" method="post">
<p>上传文件:<input type="file" name="File" size=20></p>
<p>文件详细信息:<input type="text" name="File" size=30></p>
<p>
<input type="submit" value="上传">
<input type="reset" value="删除">
</p>
</form>
</BODY>
</HTML>
我该怎么改呀?我把jspsmartupload里面的五个.class文件放在了tomcat\webapps\root\WEB-INF\classes里,这么放对吧?
leshui 2003-06-12
  • 打赏
  • 举报
回复
out.println("File="+mySmartUpload.getRequest().getParameter("File")+"<BR>");
这一句是没用的
文件以字节流的方式传上来
所以这么取的话肯定取不到

myFile.saveAs("upload/"+myFile.getFileName());
这里要写绝对路径
可以用getServletContext().getRealPath("/")+"upload\\";转换为相对路径

别的参数都取到没有?
html页是以字节流的方式提交的么?

eumenides 2003-06-11
  • 打赏
  • 举报
回复
它好像是无法找到要上传的文件,谁能告诉我?
zosatapo 2003-06-11
  • 打赏
  • 举报
回复
那个东西不好用的,我重写了一个,如果你需要我可以发给你

QQ:1670967
eumenides 2003-06-11
  • 打赏
  • 举报
回复
谢谢!
javawolf 2003-06-11
  • 打赏
  • 举报
回复
up

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧