现在的位置: 主页 > 在线留言 > 文章列表

使用common-fileUpload实现文件上传

作者:潜江市宏光畜牧有限公司 来源:www.qjhgnm.com 未知发布时间:2017-09-05 12:06:18
使用common-fileUpload实现文件上传

\

首先,我们进入上传页面index.html.

\


选择要上传的文件,点击开始上传,跳转到servlet页面,即下面提到的FileUploadServlet。 /** * 实现文件上传的Servlet * @author Administrator * */ public class FileUploadServlet extends HttpServlet { //上传路径 private File uploadPath; //当文件过大时,需要设置一个临时路径 private File tempPath; public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { DiskFileItemFactory factory = new DiskFileItemFactory(); // 内存存储的最大值 factory.setSizeThreshold(4096); factory.setRepository(tempPath); ServletFileUpload upload = new ServletFileUpload(factory); //设置文件上传大小 upload.setSizeMax(1000000 * 20); try { List fileItems = upload.parseRequest(req); String itemNo = ; for (Iterator iter = fileItems.iterator(); iter.hasNext();) { FileItem item = (FileItem) iter.next(); //是普通的表单输入域 if(item.isFormField()) { if (itemNo.equals(item.getFieldName())) { itemNo = item.getString(); } } //是否为input=type输入域 if (!item.isFormField()) { String fileName = item.getName(); long size = item.getSize(); if ((fileName == null || fileName.equals()) && size == 0) { continue; } //截取字符串 如:C:WINDOWSDebugPASSWD.LOG fileName = fileName.substring(fileName.lastIndexOf(\) + 1, fileName.length()); //item.write(new File(uploadPath + itemNo + .gif)); item.write(new File(uploadPath, itemNo + .gif)); } } //重定向页面 res.sendRedirect(req.getContextPath() + /servlet/item/SearchItemServlet); } catch (Exception e) { e.printStackTrace(); } } /** * 初始化方法,设定目录 */ public void init() throws ServletException { uploadPath = new File(getServletContext().getRealPath(upload)); //System.out.println(uploadPath===== + uploadPath); //如果目录不存在 if (!uploadPath.exists()) { //创建目录 uploadPath.mkdir(); } //临时目录 tempPath = new File(getServletContext().getRealPath(temp)); if (!tempPath.exists()) { tempPath.mkdir(); } } } 小结:

FileUpload上传一个文件的过程中可以分为三个部分:首先,客户端与服务器端建立连接,把要上传的文件生成request数据流。其次服务器端接收request流,将流缓存到内存或磁盘中。当文件过大时,文件将被缓存到内存,否则将被缓存到磁盘的临时文件。最后由服务器端的内存或是临时文件中把文件输出到指定的目录,这个目录才是指定的文件上传目录。

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:荆州SEO http://jingzhou.raoyu.net

上一篇:ASP.NET MVC Module 下一篇:最后一页