建立一个提交文件 fileupload.html
在这里定义一个javascirpt来控制只能上传图片文件
<
html
>
< head >
< title > 上传文件 </ title >
< Script language ="javascript" > ...
functionmysubmit(theform)
...{
if(theform.image.value=="")
...{
alert("请点击浏览按钮,选择您要上传的jpg或gif文件!")
theform.image.focus;
return(false);
}
else
...{
str=theform.image.value;
strs=str.toLowerCase();
lens=strs.length;
extname=strs.substring(lens-4,lens);
if(extname!=".jpg"&&extname!=".gif")
...{
alert("请选择jpg或gif文件!");
return(false);
}
}
return(true);
}
</ script >
</ head >
< head >
< title > 上传文件 </ title >
< Script language ="javascript" > ...
functionmysubmit(theform)
...{
if(theform.image.value=="")
...{
alert("请点击浏览按钮,选择您要上传的jpg或gif文件!")
theform.image.focus;
return(false);
}
else
...{
str=theform.image.value;
strs=str.toLowerCase();
lens=strs.length;
extname=strs.substring(lens-4,lens);
if(extname!=".jpg"&&extname!=".gif")
...{
alert("请选择jpg或gif文件!");
return(false);
}
}
return(true);
}
</ script >
</ head >
建立 UPLOAD.JSP文件来处理上一个文件提交的文件
<%
@page
import
=
"
com.jspsmart.upload.*
"
%>
<% @pagecontentType = " text/html;charset=GB2312 " %>
< html >
< head >
< title > CH9 - Jspsmart2.jsp </ title >
</ head >
< body >
< h2 > 文件上传范例 - jspSmart </ h2 >
< jsp:useBeanid = " mySmartUpload " scope = " page " class = " com.jspsmart.upload.SmartUpload " />
<%
// 计算文件上传个数
int count = 0 ;
// SmartUpload的初始化,使用这个jspsmart一定要在一开始就这样声明
mySmartUpload.initialize(pageContext);
// 依据form的内容上传
mySmartUpload.upload();
// 将上传的文件一个一个取出来处理
for ( int i = 0 ;i < mySmartUpload.getFiles().getCount();i ++ )
... {
//取出一个文件
com.jspsmart.upload.FilemyFile=mySmartUpload.getFiles().getFile(i);
//如果文件存在,则做存档操作
if(!myFile.isMissing())...{
//将文件存放于绝对路径的位置
myFile.saveAs("C:\upload\"+"xxxx.jpg",mySmartUpload.SAVE_PHYSICAL);
//显示此上传文件的详细信息
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> " + mySmartUpload.getFiles().getCount() + " filescouldbeuploaded.<BR> " );
// 显示成功上传的文件数目
out.println(count + " file(s)uploaded. " );
%>
</ body >
</ html >
<% @pagecontentType = " text/html;charset=GB2312 " %>
< html >
< head >
< title > CH9 - Jspsmart2.jsp </ title >
</ head >
< body >
< h2 > 文件上传范例 - jspSmart </ h2 >
< jsp:useBeanid = " mySmartUpload " scope = " page " class = " com.jspsmart.upload.SmartUpload " />
<%
// 计算文件上传个数
int count = 0 ;
// SmartUpload的初始化,使用这个jspsmart一定要在一开始就这样声明
mySmartUpload.initialize(pageContext);
// 依据form的内容上传
mySmartUpload.upload();
// 将上传的文件一个一个取出来处理
for ( int i = 0 ;i < mySmartUpload.getFiles().getCount();i ++ )
... {
//取出一个文件
com.jspsmart.upload.FilemyFile=mySmartUpload.getFiles().getFile(i);
//如果文件存在,则做存档操作
if(!myFile.isMissing())...{
//将文件存放于绝对路径的位置
myFile.saveAs("C:\upload\"+"xxxx.jpg",mySmartUpload.SAVE_PHYSICAL);
//显示此上传文件的详细信息
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> " + mySmartUpload.getFiles().getCount() + " filescouldbeuploaded.<BR> " );
// 显示成功上传的文件数目
out.println(count + " file(s)uploaded. " );
%>
</ body >
</ html >
这里要注意
1组件的版本 smartupload 有的版本没有另存为的权限的
2 myFile.saveAs("C:\\upload\\" + "xxxx.jpg", mySmartUpload.SAVE_PHYSICAL);这里时存储一个绝对路径
改成这样 myFile.saveAs("upload/" + "xxxx.jpg", mySmartUpload.SAVE_VIRTUAL); 改成相对的目录
3 上句化的 xxxx.jpg为重命名的文件名称