选择显示字体大小

用jsp文件上载轻松实现的方法


  一、rfc1867规范

  在过去的html中,表单不能实现文件的上传,这多少限制了一些网页的功能。rfc1867规范(即html中实现基于表单的文件上传)对表单作出了扩展,增加了一个表单元素&:ltinput type=file>。 通过使用这个元素,浏览器会自动生成一个输入框和一个按钮,输入框可供用户填写本地的文件名和路径名,按钮可以让浏览器打开一个文件选择框供用户选择文件。具体的表单实现如下:

  <form action=upload.jsp enctype=″multipart/form-data″ method=post>
  please input your name
  <input type=text name=user>
please give us the file
  <input type=file name=file1>
  <input type=submit value=″send file″>
  </form>

  特别需要指出的是,只有netscape 3和ie3.02以后的版本才支持此规范,而且我们实践下来发现文件选择按钮是浏览器自动生成的,因而按钮的文字和浏览器版本有很大的关系,如果是中文的ie,按钮的文字是“打开...”;英文的netscape则显示“browse...”;如果是opera,则只有″...″。用户没办法自己设定按钮文字,不能不说是一种遗憾。除了浏览器,网络服务器也要能支持此规范,好在现在市面上绝大部分服务器软件都没有问题,微软的iis在增加一个插件后也能很好地支持此规范。

   二、组件的安装

  在用户端实现文件上传后,就要用jsp来处理用户的上传请求。我们可以去www.jspsmart.com下载一个免费的组件来实现这一功能。在安装之前先确认你的jsp服务器软件支持jdk1.2.2和jsp1.1,然后只要在server的class路径中加入该组件所在的目录就可以了。

  三、程序实现

  1.文件上传

  <%@ page language=″java″ import=″com.jspsmart.upload.″%>
   <html>
   <body bgcolor=″white″>
   <h1>jspsmartupload </h1>
   <hr>
   <% int count=0 //设置变量 smartupload mysmartupload=new smartupload
   mysmartupload.initialize pagecontext  //初始化
   mysmartupload.upload   //上传 ry
  count = mysmartupload.save ″/upload″  //把上传的文件保存在/upload目录下 out.println count + ″ file s  uploaded.″  //显示上传了多少个文件
   catch  exception e   out.println e.tostring    %>
   </body>
   </html>

  需要注意:调试的时候要确认上传文件所存储的目录有可写属性。

  2.表单处理

  由于上传文件的表单使用了 enctype=″multipart/form-data″属性,所以在jsp中处理表单传递的值的时候不能再简单地使用request.getparameter了,而应该这样来处理:

  <%@ page language=″java″ import=″com.jspsmart.upload.″%>
   <html>
   <body bgcolor=″white″>
   <h1>jspsmartupload </h1>
   <hr>
   <% smartupload myupload=new smartupload  myupload.initialize pagecontext  myupload.upload   out.println ″number of files = ″ + myupload.getfiles  .getcount   + ″
″  out.println ″
  

  

   <strong>display information about requests</strong>
  

   string[ ]values = myupload.getrequest
  .getparametervalues ″formtag″  //formtag为表单中元素的name,返回的值为字符数组中第一个元素。 out.print key + ″ = ″+values0
  %>
   </body>
   </html>

  3.其他api myupload.setallowedfileslist ″txt doc xls″

  设定可以上传的文件的后缀名; myupload.setdeniedfileslist ″bat exe com jsp″  设定不能上传的文件的后缀名;

  myupload.setmaxfilesize 100000  设定单个文件的最大字节数;

   myupload.settotalmaxfilesize 100000  设定所有上传文件的最大字节数;

   myupload.uploadinfile ″/mydata.txt″  把表单的内容全部存储到mydata.txt保存;

  myupload.getfiles  .getcount   获得上传的文件的个数;

  myupload.getfiles  .getsize   获得上传的文件的总字节数;

   myupload.getfiles  .getfile id .getfilename   获得指定id号文件的文件名;

   myupload.getfiles  .getfile id .getfilepathname   获得指定id号文件的路径名;

   myupload.getfiles  .getfile 0 .ismissing   返回一布尔值以确定用户是否上传了文件。

  四、其他功能 jspsmartupload除了能把上传文件保存到硬盘,还能直接把文件插入到数据库,同时还能实现文件下载的功能,相信随着大家的深入研究,一定能将这一功能更好地应用到自己的实践中去。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons