文件上传

文件上传

概述:

  • 文件上传有两种方式:
    • 使用SmartUpload  上传组件编写相关程序
    • 使用FileUpload   文件上传组件编写相关程序

两种文件上传组件的比较:

  SmartUpload文件上传组件(推荐使用) FileUpload文件上传组件(不建议使用)
开发者 www.jspsmart.com  commons.apache.org/fileupload/
功能
  • 文件上传
  • 文件下载
  • 限制上传文件类型(使用正则表达式实现)
  • 获取上传文件名称、后缀、大小
  • 支持多个文件的上传
 
编程思路:

step1,下载该组件

step2,将相应jar包放置在classpath下或者Tomcat安装目录下的/lib下

 

step3,编写相应程序

 

    • step3.1,编写jsp页面,
      • a,该页面中使用<input type="file">控件,使得点击jsp页面相应按钮
      •      之后会弹出文件选择窗口
      • b,并且将<form>使用enctype封装,使得点击“提交”按钮后
      •   该form中的所有内容都是以二进制方式提交
    • step3.2,编写相应代码接收上传的文件并且保存到特定目录
      • a,使用smartupload组件中提供的相应API去获取上传的文件
      •   并保存
      • b,注意:由于form使用enctype封装成了二进制形式,所以
      •       不能使用request对象获取form表单中的内容,必须使用
      •       smartupload组件所提供的相应API去获取相应表单标签
      •       的值,用request.getParameter()获取不到表单标签的值
      •       因为所有表单元素的值都变成了二进制形式。
      • c,除了上述重点之外,编写文件上传部分代码时还应考虑到
      •      不同用户上传的同名文件会产生“覆盖问题”,所以我们接收了
      •      用户上传文件的请求之后,还应该采取一定的措施对文件进行
      •      重命名,以避免“同名文件覆盖问题”。

 

 step1,下载该组件以及该组件所依赖的三方组件

    • commons.apache.org/fileupload/上下载fileupload组件
    • commons.apache.org/io/上下载Commons组件的io包  

step2,将相应jar包放置在classpath下或者Tomcat安装目录下的lib子文件夹下

    •  

step3,编写相应程序(实现文件上传与下载)

    • step3.1,编写jsp页面
      • a,使用<input type="file">  
      • b,form封装成enctype形式,使得表单元素内容以二进制形式传递给目标页面
    • step3.2,使用fileupload组件提供的相应API接收并保存上传的文件,或者下载文件 
      • a,   

 

     
     
     
     
     
     

posted on 2017-05-22 11:11  LXRM-JavaWeb、ML  阅读(139)  评论(0编辑  收藏  举报

导航