JSP文件上传
2015-09-22 06:39
519 查看
概述:
文件上传是网站中很常用的一个功能,下面是一个文件上传的基本demo。
由于是使用的新版jar包,所以需要依赖以下几个jar包:
catalina.jar
commons-fileupload-1.3.1.jar
commons-io-2.4.jar
jsp页面代码
这里注意:上传后的文件是上传到TomCat中该的项目的目录中的upload文件夹,如果将TomCat上项目移除,上传的文件也会随之消失。
文件上传是网站中很常用的一个功能,下面是一个文件上传的基本demo。
由于是使用的新版jar包,所以需要依赖以下几个jar包:
catalina.jar
commons-fileupload-1.3.1.jar
commons-io-2.4.jar
public class UpLoadServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * 该方法用于文件上传 * @jar catalina.jar commons-fileupload-1.3.1.jar commons-io-2.4.jar */ public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); request.setCharacterEncoding("UTF-8"); /* * 文件上传逻辑 */ //创建DiskFileItemFactory对象,为解析器提供解析时的一些缺省配置 DiskFileItemFactory dfif = new DiskFileItemFactory(); //创建解析器 ServletFileUpload sfu = new ServletFileUpload(dfif); //使用解析器解析分析器 try { //解析request请求 List<FileItem> items = sfu.parseRequest(request); for(FileItem item : items) { //如果是普通表单类 if(item.isFormField()) { continue; } //执行上传文件动作 //根据servlet上下文获得服务器中实际物理路径 //此处可以更改为其他另存为的路径 String path = getServletContext().getRealPath("/upload"); //获取文件名 String fileName = item.getName(); //获取文件后缀 String fileSuffix = fileName.substring(fileName.lastIndexOf(".")); //设置当前系统时间毫秒数的值为文件名(无需考虑同步,几率极其低) String newName = Calendar.getInstance().getTimeInMillis()+fileSuffix; //File.separator是获取一个兼容操作系统路径的"/" File file = new File(path+File.separator+newName); try { //写入文件 item.write(file); } catch (Exception e) { e.printStackTrace(); } } } catch (FileUploadException e) { e.printStackTrace(); } } }
jsp页面代码
<!-- enctype="multipart/form-data"表示不对上传的消息进行编码 --> <form action="upload.do" enctype="multipart/form-data" method="post"> <input type="file" name="fileName"> <input type="submit" value="提交">
这里注意:上传后的文件是上传到TomCat中该的项目的目录中的upload文件夹,如果将TomCat上项目移除,上传的文件也会随之消失。
相关文章推荐
- 轻量级 js取色器 JSColor
- fastjson是阿里巴巴的开源JSON解析库
- Ember.js 入门指南——工具类的助手
- 一些牛逼哄哄的javascript面试题
- javaScript正则表达式相关函数的使用
- 【js】正则表达式豁然开朗
- Servlet与JSP的区别
- JavaScript 数据类型
- JSP入门教程之客户端验证、常用输出方式及JSTL基本用法
- JSP中文乱码常见3个例子及其解决方法
- JSP学习经验小结分享
- JavaScript脚本判断蜘蛛来源的方法
- JS实现3D图片旋转展示效果代码
- javaScript---传统的DOM动态添加标签与内容
- Ember.js 入门指南——工具类的助手
- Ember.js 入门指南——路由简介
- IIS识别Json文件
- js中setInterval与setTimeout的用法和区别
- Javascript高级程序设计第16章(HTML5脚本编程)--XDM
- 【js】IE、FF、Chrome浏览器中的JS差异介绍