| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 642 人关注过本帖
标题:[求助]一个关于JSP中上传文件的问题
只看楼主 加入收藏
noodle
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-7-1
收藏
 问题点数:0 回复次数:8 
[求助]一个关于JSP中上传文件的问题

我的一个上传文件的源码是:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" session="true"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<%request.setCharacterEncoding("gb2312");
String str=response.encodeURL("Picupload.jsp");
%>
<table align="center" width="60%" bordercolor="#33FFFF">
<tr><td>个人照片上传:</td></tr>
<tr><td>
<p>choose the Picture to be uploaded:</p>
<form action="<%=str%>" method="post" enctype="multipart/form-data">
<input type="file" name="boy" size="45"></td></tr>
<tr><td><input type="text" name="Rank" class="input" maxlength="15">
请输入你的照片显示优先级(1-10);
</td></tr>

<tr><td><input type="submit" name="g" value="submit"></td></tr>
</form>


</table>
</body>
</html>
第二个页面Picupload.jsp为:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="mypack.*" %>
<%@ page import="java.io.*" %>
<jsp:useBean id="useDB" scope="application" class="mypack.UseDB"/>
<html>
<body>
<% request.setCharacterEncoding("gb2312");
String Rank=request.getParameter("Rank");
String userid=(String)session.getAttribute("USERID");
out.println(Rank);
String tempfilename=(String)session.getId();
File f1=new File("D:\\study software\\Tomcat 5.0\\webapps\\HomeT\\temp",tempfilename);
int n;
try
{
InputStream in=request.getInputStream();
BufferedInputStream my_in=new BufferedInputStream(in);
FileOutputStream fout=new FileOutputStream(f1);
BufferedOutputStream my_out=new BufferedOutputStream(fout);
byte[] b=new byte[10000];
while((n=my_in.read(b))!=-1)
{
my_out.write(b,0,n);
}
my_out.flush();
my_out.close();
fout.close();
my_in.close();
in.close();
out.print("文件上传成功!<br>");
}
catch(IOException e)
{
out.print("文件上传失败!");
}

try
{
RandomAccessFile random1=new RandomAccessFile(f1,"r");
random1.readLine();
String filename=random1.readLine();
byte[] b=filename.getBytes("ISO-8859-1");
filename=new String(b);
int pointer=filename.lastIndexOf('\\');
filename=filename.substring(pointer+1,filename.length()-1);
File f2=new File("D:\\study software\\Tomcat 5.0\\webapps\\HomeT\\user\\pic",filename);
RandomAccessFile random2=new RandomAccessFile(f2,"rw");
random1.seek(0);
for(int i=1; i<=4; i++)
{
String tempstr=random1.readLine();
}
long startPoint=random1.getFilePointer();
random1.seek(random1.length());
long mark=random1.getFilePointer();
int j=0;
long endPoint=0;
while((mark>=0)&&(j<=5))
{
mark--;
random1.seek(mark);
n=random1.readByte();
if(n=='\n')
{
j++;
endPoint=random1.getFilePointer();
}
}
long length=endPoint-startPoint+1;
int order=(int)(length/10000);
int left=(int)(length%10000);
byte[] c=new byte[10000];
random1.seek(startPoint);
for(int i=0; i<order; i++)
{
random1.read(c);
random2.write(c);
}
random1.read(c,0,left);
random2.write(c,0,left);
random1.close();
random2.close();
f1.delete();
out.print("文件更新成功!");

String reg="insert into UserImg(UserID,UserImgName,Rank) values("+userid+",'"+filename+"',"+Rank+")";
Connection conn=useDB.getConnection();
PreparedStatement stmt=conn.prepareStatement(reg);
stmt.executeUpdate();
useDB.closePrepStmt(stmt);
useDB.closeConnection(conn);
}
catch(Exception e)
{
out.print("文件更新失败!");
}
%>
</body>
</html>
但是,第二张页面的String Rank=request.getParameter("Rank");获得的值始终为:null;为什么?

搜索更多相关主题的帖子: JSP 文件 
2006-06-11 12:04
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
<form action="<%=str%>" method="post" enctype="multipart/form-data">
直接改成Picupload.jsp试试

可惜不是你,陪我到最后
2006-06-11 12:11
noodle
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-7-1
收藏
得分:0 
试了!没有反应啊!还有什么方法啊?

2006-06-12 00:33
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
也没有异常吗

可惜不是你,陪我到最后
2006-06-12 10:13
noodle
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-7-1
收藏
得分:0 

是啊!什么都没有变!


2006-06-12 12:13
noodle
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-7-1
收藏
得分:0 

很急啊!哪位有个好办法啊?


2006-06-12 17:14
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

用jspsmart组件试试看


可惜不是你,陪我到最后
2006-06-13 11:26
dreame
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:521
专家分:0
注 册:2005-10-23
收藏
得分:0 
楼主,因为你form中有这样一句话enctype="multipart/form-data"!所以String Rank=request.getParameter("Rank")为null;不能用这个方法获取Rank。建议用组件,楼上说的是一个,apache的fileupload也不错!!

有时候真的想放弃寂寞的等待,但她是那么的可爱!I love u forever!
2006-06-13 22:22
念月思灵
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2006-1-17
收藏
得分:0 
试试jspsmart包。

欢迎光临念月思灵的博客 http://xxpal..cn
2006-06-15 21:54
快速回复:[求助]一个关于JSP中上传文件的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021427 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved