上面的那篇贴子已经回过了,
要用上传组件 的:
String values = myUpload.getRequest().getParameter("values");
要用上传组件 的:
String values = myUpload.getRequest().getParameter("values");
解决方案 »
- workshop3.3 新建 webservice 时 出现错误:IWAB0524E
- 大家帮帮忙啊
- 真正的开发struts项目时,一般使用“actionform”还是使用“动态actionform”
- 推荐几个适合于做教材的jsp,html的丛书,举出书名的都给分!
- 求助 关于JSON 相当纠结!
- Java入门问题!15分
- 偶快疯了,高手们帮忙看看
- 请问 servlet 的过期问题
- JAVA 操作Excle的问题 (急,在线等).到 先谢谢大家的帮忙!
- struts2多图片上传,点第二个图片修改的时候,会把第一张图片修改
- 两个问题,关于web.xml的编码和*.jar
- 为什么同时在页面中用多个结果集出错(ResultSet is closed)?
http://expert.csdn.net/Expert/topic/1339/1339805.xml?temp=.8928339
文件上传肯定是要这么做的,这样就是将文件以二进制流的数据形式上传,很明显,同理整个form里面的对象在request里面都是二进制流的形式,也就是说request.getParameter("values");这种根本无法取到,想想看,一个是字符串读取,一个确为二进制流,自然对不上号。
所以,要想读取正确的values值,必须对整个二进制流进行解析,这个在smartupload的控件里面已经有了详细的方法,建议自个去看看。
<%@ page contentType="text/html; charset=gb2312" %>
<jsp:useBean id="myUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<jsp:useBean id="cn" scope="page" class="bbs.cn" />
<jsp:useBean id="mycheck" scope="page" class="bbs.check" />
<jsp:useBean id="xiruo" scope="page" class="bbs.xiruo" />
<html>
<head>
<title>jsp论坛--文件上传</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<LINK href="inc/css.css" rel=stylesheet>
</head>
<body bgcolor="#f2f8ff" alink="#333333" vlink="#333333" link="#333333" topmargin=10 leftmargin=10 onkeydown="if(event.keyCode==13 && event.ctrlKey)messager.submit()">
<%
session.setMaxInactiveInterval(20*60);
String user=(String)session.getAttribute("username");
String action=(String)request.getParameter("action");
java.text.SimpleDateFormat dformat=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String errmessage="";
if(user==null||user.trim()=="")
errmessage=errmessage+"<li>您没有<a href=\"login.jsp\" target=\"_blank\">登录</a></li>";
int count=0;
String mypath=request.getRealPath("BBS")+"\\information\\";
myUpload.initialize(pageContext);
//文件上传
myUpload.upload();
//上传的情况统计
//***************************************************//判断提交的表单数据
String content="";
String url[]=new String[myUpload.getFiles().getCount()];
boolean y=true;
boolean x=false;
String myfilename="";
for (int i=0;i<myUpload.getFiles().getCount();i++){
com.jspsmart.upload.File myFile = myUpload.getFiles().getFile(i);
//获得文本的内容
if(!myFile.isMissing()) {
y=false;
content=myUpload.getRequest().getParameter("text"+(i+1));
java.io.File file = new java.io.File(mypath+content);
if(file.exists()) {
x=true;
myfilename=myfilename+" "+content;
}
}
}
if(y)
errmessage=errmessage+"<li>你没有选择任何要上传的文件</li>";
if(content.trim()=="")
errmessage=errmessage+"<li>你必须给需要上传的文件命名</li>";
if(x)
errmessage=errmessage+"<li>文件 "+myfilename+" 已经存在,请重新命名</li>";
//*****************************************************
if(errmessage.trim()=="") {
for (int i=0;i<myUpload.getFiles().getCount();i++){
com.jspsmart.upload.File myFile = myUpload.getFiles().getFile(i);
//获得文本的内容
content=myUpload.getRequest().getParameter("text"+(i+1));
//显示文本的内容
//out.println(content);
if (!myFile.isMissing()) {
myFile.saveAs(mypath + content);//myFile.getFileName());
cn.executeUpdate("insert into [file](filename,username) values('"+content+"','"+user+"')");
url[i]=content;
//out.println("FieldName = " + myFile.getFieldName() + "<BR>");
//out.println("Size = " + myFile.getSize() + "<BR>");
//out.println("FileName = " + myFile.getFileName() + "<BR>");
//out.println("FileExt = " + myFile.getFileExt() + "<BR>");
//out.println("FilePathName = " + myFile.getFilePathName() + "<BR>");
//out.println("ContentType = " + myFile.getContentType() + "<BR>");
//out.println("ContentDisp = " + myFile.getContentDisp() + "<BR>");
//out.println("TypeMIME = " + myFile.getTypeMIME() + "<BR>");
//out.println("SubTypeMIME = " + myFile.getSubTypeMIME() + "<BR>");
count ++;
}
}
//out.println("<BR>" + myUpload.getFiles().getCount() + " files could be uploaded.<BR>");
//out.println(count + " file(s) uploaded.");
%>
<table cellpadding=0 cellspacing=0 border=0 width=95% bgcolor=#777777 align=center>
<tr>
<td>
<table cellpadding=3 cellspacing=1 border=0 width=100%>
<tr>
<td bgcolor=#e8f4ff align=center><font face="宋体" color=#333333><b>文件上传成功!</b>(可以在论坛中把地址用HTML代码贴出来)</font></td>
</tr>
<tr bgcolor="#f2f8ff">
<td valign=middle align=center> <a href="upload.jsp"><img src="PIC/upload.gif" border=0 alt="上传文件" width="50" height="28"></a><br><br>
上传文件资料:<br><br>
<%
for(int i=0;i<url.length;i++) {
if(url[i]!=null&&url[i].trim()!="")
out.println("<a href='http://172.18.24.134:9999/BBS/information/"+url[i]+"' target='_blank'>"+url[i]+"</a><br><br>");
}
%>
</td>
</tr>
<tr bgcolor="#e8f4ff">
<td valign=middle align=center bgcolor="#e8f4ff"> <b><a href="javascript:history.back();"><<返回上一页</a></b></td>
</tr>
</table>
</td>
</tr>
</table>
<%
} else {
%>
<br>
<table cellpadding=0 cellspacing=0 border=0 width=95% bgcolor=#0099cc align=center>
<tr>
<td>
<table cellpadding=3 cellspacing=1 border=0 width=100%>
<tr align="center">
<td width="100%" bgcolor=#99ccff><font color="#000000"><b>论坛错误信息</b></font></td>
</tr>
<tr>
<td width="100%" bgcolor=#f2f8ff><font color="#000000"><b>产生错误的可能原因:</b><br><br>
<li>您是否仔细阅读了<a href="help.jsp" target="_blank"><font color="#000000">帮助文件</font></a></li><%=errmessage%></font>
</td>
</tr>
<tr align="center">
<td width="100%" bgcolor=#99ccff>
<a href="javascript:history.go(-1)"><font color="#000000"> << 返回上一页</font></a>
</td>
</tr>
</table> </td></tr></table>
<%
}
%>
<br>
<br>
<%@include file="inc/bottom.jsp"%>
</BODY></HTML>
java.util.Enumeration e = myUpload.getRequest().getParameterNames(); // Retreive parameters
while (e.hasMoreElements()) { String key = (String)e.nextElement();
String[] values = myUpload.getRequest().getParameterValues(key);
// Browse the current parameter values
for(int i = 0; i < values.length; i++) {
out.print(key + " = ");
out.print(values[i] + "<BR>");
}
}