FileUpload实现上传.doc_第1页
FileUpload实现上传.doc_第2页
FileUpload实现上传.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.创建一个Servlet-Upload.java文件,用于实现上传文件import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import mons.fileupload.*;public class Upload extends HttpServlet private String uploadPath = d:upload; / 上传文件的目录private String tempPath = d:uploadtmp; / 临时文件目录在doPost()方法中,当servlet收到浏览器发出的Post请求后,实现文件上传。以下是示例代码:public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException final long MAX_SIZE = 3 * 1024 * 1024;/ 设置上传文件最大为 3M response.setContentType(text/html); / 设置字符编码为UTF-8, 这样支持汉字显示 response.setCharacterEncoding(UTF-8); / 实例化一个硬盘文件工厂,用来配置上传组件ServletFileUpload DiskFileItemFactory dfif = new DiskFileItemFactory(); dfif.setSizeThreshold(4096);/ 设置上传文件时用于临时存放文件的内存大小,这里是4K.多于的部分将临时存在硬盘 dfif.setRepository(new File(request.getRealPath(/) + /WEB-INF/ImagesUploadTemp);/ 设置存放临时文件的目录,web根目录下的ImagesUploadTemp目录 / 用以上工厂实例化上传组件 ServletFileUpload sfu = new ServletFileUpload(dfif); / 设置最大上传尺寸 sfu.setSizeMax(MAX_SIZE); PrintWriter out = response.getWriter(); / 从request得到 所有 上传域的列表 List fileList = null; try fileList = sfu.parseRequest(request); catch (Exception e) e.printStackTrace(); / 得到所有上传的文件 Iterator fileItr = fileList.iterator(); / 循环处理所有文件 while (fileItr.hasNext() FileItem fileItem = null; String path = null; long size = 0; / 得到当前文件 fileItem = (FileItem) fileItr.next(); / 忽略简单form字段而不是上传域的文件域(等) if (fileItem = null | fileItem.isFormField() continue; / 得到文件的完整路径 path = fileItem.getName(); / 得到文件的大小 size = fileItem.getSize(); / 得到去除路径的文件名 String t_name = path.substring(path.lastIndexOf() + 1); / 得到文件的扩展名(无扩展名时将得到全名) String t_ext = t_name.substring(t_name.lastIndexOf(.) + 1); long now = System.currentTimeMillis(); / 根据系统时间生成上传后保存的文件名 String prefix = String.valueOf(now); / 保存的最终文件完整路径,保存在web根目录下的ImagesUploaded目录下 String u_name = request.getRealPath(/)+/WEB-INF/upload/ + prefix + . + t_ext; try / 保存文件 fileItem.write(new File(u_name); out.println(文件上传成功. 已保存为: + prefix + . + t_ext +   文件大小: + size + 字节); catch (Exception e) e.printStackTrace(); 编译该servlet,注意要指定classpath,确保包含commons-upload-1.0.jar和tomcatcommonlibservlet-api.jar。2.配置servlet,用记事本打开tomcatwebapps你的webappWEB-INFweb.xml,没有的话新建一个。典型配置如下:Uploa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论