主题:[em10]jspsmartupload上传文件的问题
[em10]
问题描述:需要从客户机文件夹中上传某个目录下的所有文件
于是在第一步中,先输入目录,提交表单,转入第二步,通过对目录下的文件进行分析,得到共有几个文件需要上传,相应地生成文件域,然后转入第三步用jspsmartupload对文件进行逐个上传,但是在最后一步(也就是第三步)处理,就直接地跳到第一步中了,实在是很纳闷,根本没有任何语句实行跳转,这几天我都快疯了,哪位大侠指教,感激不尽
附原代码:
/** addalbum.jsp */
<%@ page contentType="text/html;charset=gb2312" import="java.util.*,java.io.*,music.elem.Sort,com.jspsmart.upload.*" %>
<html>
<body>
<%
String dir=request.getParameter("dir");//取得客户端的目录
String step=request.getParameter("step");//取的传入的执行步骤
if(step==null) step="";
int num=0;
if(dir==null||dir.equals(""))
{
%>
<form id="form1" name="form1" method="post" action="addalbum.jsp">
document:<input type="text" name="dir">
<input type="hidden" name="step" value="1">
<input type="submit" name="Submit" value="提交">
</form>
<%
}
else if(step.equals("1"))
{
String filePath=dir.substring(0,dir.lastIndexOf('\\'));
java.io.File file=new java.io.File(filePath);
String []fileList=file.list();
%>
<form id="form2" name="form2" method="post" action="addalbum.jsp" enctype="multipart/form-data">
<%
for(int i=0;i<fileList.length;i++)
{
%>
<input type="text" id="songName<%=i%>" value="<%=fileList[i]%>">
<input type="file" id="file<%=i%>"><br>
<%
}
%>
<input type="hidden" name="step" value="2">
<input type="submit" name="Submit2" value="提交">
</form>
<%
}
else if(step.equals("2"))
{
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 上传初始化
su.initialize(pageContext);
// 上传文件
su.upload();
// 将上传文件全部保存到指定目录
//int count = su.save("/upload");
//out.println(count+"个文件上传成功!<br>");
// 逐一提取上传文件信息,同时可保存文件。
for (int i=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.File file = su.getFiles().getFile(i);
// 若文件不存在则继续
if (file.isMissing()) continue;
// 显示当前文件信息
out.println("<TABLE BORDER=1>");
out.println("<TR><TD>表单项名(FieldName)</TD><TD>"
+ file.getFieldName() + "</TD></TR>");
out.println("<TR><TD>文件长度(Size)</TD><TD>" +
file.getSize() + "</TD></TR>");
out.println("<TR><TD>文件名(FileName)</TD><TD>"
+ file.getFileName() + "</TD></TR>");
out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>"
+ file.getFileExt() + "</TD></TR>");
out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"
+ file.getFilePathName() + "</TD></TR>");
out.println("</TABLE><BR>");
}
}
%>
</body>
</html>
例如:我在第一步输入 f:\test\
然后就进入第二步的表单,但是提交后又回到第一步了.好郁闷啊~
大家帮帮我吧
问题描述:需要从客户机文件夹中上传某个目录下的所有文件
于是在第一步中,先输入目录,提交表单,转入第二步,通过对目录下的文件进行分析,得到共有几个文件需要上传,相应地生成文件域,然后转入第三步用jspsmartupload对文件进行逐个上传,但是在最后一步(也就是第三步)处理,就直接地跳到第一步中了,实在是很纳闷,根本没有任何语句实行跳转,这几天我都快疯了,哪位大侠指教,感激不尽
附原代码:
/** addalbum.jsp */
<%@ page contentType="text/html;charset=gb2312" import="java.util.*,java.io.*,music.elem.Sort,com.jspsmart.upload.*" %>
<html>
<body>
<%
String dir=request.getParameter("dir");//取得客户端的目录
String step=request.getParameter("step");//取的传入的执行步骤
if(step==null) step="";
int num=0;
if(dir==null||dir.equals(""))
{
%>
<form id="form1" name="form1" method="post" action="addalbum.jsp">
document:<input type="text" name="dir">
<input type="hidden" name="step" value="1">
<input type="submit" name="Submit" value="提交">
</form>
<%
}
else if(step.equals("1"))
{
String filePath=dir.substring(0,dir.lastIndexOf('\\'));
java.io.File file=new java.io.File(filePath);
String []fileList=file.list();
%>
<form id="form2" name="form2" method="post" action="addalbum.jsp" enctype="multipart/form-data">
<%
for(int i=0;i<fileList.length;i++)
{
%>
<input type="text" id="songName<%=i%>" value="<%=fileList[i]%>">
<input type="file" id="file<%=i%>"><br>
<%
}
%>
<input type="hidden" name="step" value="2">
<input type="submit" name="Submit2" value="提交">
</form>
<%
}
else if(step.equals("2"))
{
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 上传初始化
su.initialize(pageContext);
// 上传文件
su.upload();
// 将上传文件全部保存到指定目录
//int count = su.save("/upload");
//out.println(count+"个文件上传成功!<br>");
// 逐一提取上传文件信息,同时可保存文件。
for (int i=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.File file = su.getFiles().getFile(i);
// 若文件不存在则继续
if (file.isMissing()) continue;
// 显示当前文件信息
out.println("<TABLE BORDER=1>");
out.println("<TR><TD>表单项名(FieldName)</TD><TD>"
+ file.getFieldName() + "</TD></TR>");
out.println("<TR><TD>文件长度(Size)</TD><TD>" +
file.getSize() + "</TD></TR>");
out.println("<TR><TD>文件名(FileName)</TD><TD>"
+ file.getFileName() + "</TD></TR>");
out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>"
+ file.getFileExt() + "</TD></TR>");
out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"
+ file.getFilePathName() + "</TD></TR>");
out.println("</TABLE><BR>");
}
}
%>
</body>
</html>
例如:我在第一步输入 f:\test\
然后就进入第二步的表单,但是提交后又回到第一步了.好郁闷啊~
大家帮帮我吧