您的位置:程序门 -> java -> web 开发



jsp上传,我想要一个简单的实例!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


jsp上传,我想要一个简单的实例![已结贴,结贴人:josan428]
发表于:2007-02-26 11:49:59 楼主
我想开发一个jsp网站,里面有一个上传功能,并把上传的文件放到数据库中,文件主要以图片为主,请各位大虾们帮帮忙谢谢!!!
发表于:2007-02-26 13:17:301楼 得分:50
        com.trs.bbs.plad.aimer.jspsmart.smartupload   mysmartupload   =   new   com.trs.bbs.plad.aimer.jspsmart.smartupload();
        try
        {
mysmartupload.initialize(pagecontext);
//设置上载的最大值
mysmartupload.setmaxfilesize(1024*20);    
mysmartupload.upload();
        string   username   =   mysmartupload.getrequest().getparameter( "username ");
                        //取得上载的文件
                        smartfile   myfile   =   mysmartupload.getfiles().getfile(0);

                        if   (!myfile.ismissing())
                        {
                                  //smartfile   myfile   =   mysmartupload.getfiles().getfile(0);     //第1个上传文件
                                  //取得上载的文件的文件名
                                  string   myfilename=myfile.getfilename();
                                  //取得不带后缀的文件名
                                  string     suffix=myfilename.substring(0,myfilename.lastindexof( '. '));
                                  //取得后缀名
                                  string     ext=   mysmartupload.getfiles().getfile(0).getfileext();    
                                  //取得文件的大小    
                                  int   filesize=myfile.getsize();
                                  //取的上载的文件路径
                                  string   filepath=getservletcontext().getrealpath( "/ ")+ "uploadfile\\ ";
                                  //自动命名
                                  string   autoname   =   gettime( "yymmddhhmmssssss ")+ ". "+ext;
                                             
                                  string   trace=filepath+autoname;
                                  myfile.saveas(trace,mysmartupload.save_physical);
        }
        }catch(exception   e)
        {
                out.println( " <script> alert(\ "上传失败,请检查图片是否大于20k!\ ");window.location.href=\ "uploadphotoform.jsp\ "; </script> ");
        }

==============================
这是其中核心的代码,用的是smartuplocad组件,是将上传的文件保存在uploadfile目录中.
如果你上传的是突破,你想直接保存在blob字段中,你上网参考下blob写入数据库的方法,应该可以写出来的.
good   luck
发表于:2007-02-26 13:18:252楼 得分:0
不好意思,错别字了.

如果你上传的是图片,...
发表于:2007-02-26 14:29:423楼 得分:50
先在一个jspsmartupload.jar
jspsmartupload组件可以从www.jspsmart.com网站上自由下载,压缩包的名字是jspsmartupload.zip。下载后,用winzip或winrar将其解压到tomcat的webapps目录下(本文以tomcat服务器为例进行介绍)。解压后,将webapps/jspsmartupload目录下的子目录web-inf名字改为全大写的web-inf,这样一改jspsmartupload类才能使用。因为tomcat对文件名大小写敏感,它要求web应用程序相关的类所在目录为web-inf,且必须是大写。接着重新启动tomcat,这样就可以在jsp文件中使用jspsmartupload组件了。


再给你一个列子!!!
1、上传页面upload.html  

本页面提供表单,让用户选择要上传的文件,点击 "上传 "按钮执行上传操作。  

页面源码如下:  

<!doctype   html   public   "-//w3c//dtd   html   4.01   transitional//en ">
<html>
<head>
<title> 文件上传 </title>
<meta   http-equiv= "content-type "   content= "text/html;   charset=gb2312 ">
</head>

<body>
<p> &nbsp; </p>
<p   align= "center "> 上传文件选择 </p>
<form   method= "post "   action= "jsp/do_upload.jsp "
enctype= "multipart/form-data ">
<input   type= "hidden "   name= "test "   value= "good ">
    <table   width= "75% "   border= "1 "   align= "center ">
        <tr>  
            <td> <div   align= "center "> 1、  
                    <input   type= "file "   name= "file1 "   size= "30 ">
                </div> </td>
        </tr>
        <tr>  
            <td> <div   align= "center "> 2、  
                    <input   type= "file "   name= "file2 "   size= "30 ">
                </div> </td>
        </tr>
        <tr>  
            <td> <div   align= "center "> 3、  
                    <input   type= "file "   name= "file3 "   size= "30 ">
                </div> </td>
        </tr>
        <tr>  
            <td> <div   align= "center "> 4、  
                    <input   type= "file "   name= "file4 "   size= "30 ">
                </div> </td>
        </tr>
        <tr>  
            <td> <div   align= "center ">
                    <input   type= "submit "   name= "submit "   value= "上传它! ">
                </div> </td>
        </tr>
    </table>
</form>
</body>
</html>
 


2、上传处理页面do_upload.jsp  

本页面执行文件上传操作。页面源码中详细介绍了上传方法的用法,在此不赘述了。  

页面源码如下:  


<%@   page   contenttype= "text/html;   charset=gb2312 "   language= "java "  
import= "java.util.*,com.jspsmart.upload.* "   errorpage= " "   %>
<html>
<head>
<title> 文件上传处理页面 </title>
<meta   http-equiv= "content-type "   content= "text/html;   charset=gb2312 ">
</head>

<body>
<%
//   新建一个smartupload对象
smartupload   su   =   new   smartupload();
//   上传初始化
su.initialize(pagecontext);
//   设定上传限制
//   1.限制每个上传文件的最大长度。
//   su.setmaxfilesize(10000);
//   2.限制总上传数据的长度。
//   su.settotalmaxfilesize(20000);
//   3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
//   su.setallowedfileslist( "doc,txt ");
//   4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,
jsp,htm,html扩展名的文件和没有扩展名的文件。
//   su.setdeniedfileslist( "exe,bat,jsp,htm,html,, ");
//   上传文件
su.upload();
//   将上传文件全部保存到指定目录
int   count   =   su.save( "/upload ");
out.println(count+ "个文件上传成功! <br/> ");

//   利用request对象获取参数之值
out.println( "test= "+su.getrequest().getparameter( "test ")
+ " <br> <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> ");

//   将文件另存
//   file.saveas( "/upload/ "   +   myfile.getfilename());
//   另存到以web应用程序的根目录为文件根目录的目录下
//   file.saveas( "/upload/ "   +   myfile.getfilename(),  
su.save_virtual);
//   另存到操作系统的根目录为文件根目录的目录下
//   file.saveas( "c:\\temp\\ "   +   myfile.getfilename(),  
su.save_physical);

}
%>
</body>
</html>
发表于:2007-02-26 14:41:074楼 得分:0
///
发表于:2007-02-26 17:01:225楼 得分:0
出售以下资料、代码

1.jsp编程技巧百问集锦(100个问题;一个问题一段代码)                                                         报价:30   rmb
2.asp编程技巧百问集锦(100个问题;一个问题一段代码)                                                         报价:30   rmb
3.javascript编程技巧百问集锦(100个问题;一个问题一段代码)                                           报价:20   rmb
4. <在线书店系统> 大解密(jsp+javabean+servlet   web版   全套源码   安装即用)                   报价:150   rmb
5. <办公自动化系统> 大解密(jsp+javabean+servlet   web版   全套源码   安装即用)               报价:300   rmb

需要者请联系:e_mail:fzlotuscn@yahoo.com.cn       qq:595563946
发表于:2007-03-22 09:32:036楼 得分:0
标记一下!


快速检索

最新资讯
热门点击