Form表单上传文件(type="file")的使用


Posted in Javascript onAugust 03, 2017

一,单个文件的上传

1.html/jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<%
  String path=request.getContextPath();
  request.setAttribute("path", path);
%>
</head>
<body>
<form action="${path}/FileSer" method="post" enctype="multipart/form-data">
  <table>
    <tr>
      <td>上传文件</td>
      <td> 
        <input type="file" name="fileN" />
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <input type="submit" />
        <input type="reset" />
      </td>
    </tr>
  </table>
  </form>
</body>
</html>

2.过滤器解决中文乱码问题

package com.ser;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Filter01 implements Filter
{
  @Override
  public void destroy()
  {
  }
  @Override
  public void doFilter(ServletRequest arg0, ServletResponse arg1,
      FilterChain arg2) throws IOException, ServletException
  {
    HttpServletRequest request= (HttpServletRequest)arg0;
    HttpServletResponse response=(HttpServletResponse)arg1;
    request.setCharacterEncoding("utf-8");
    response.setCharacterEncoding("utf-8");
    response.setContentType("text/html charset=utf-8");
    arg2.doFilter(request, response);
  }
  @Override
  public void init(FilterConfig arg0) throws ServletException
  {
  }
}

3.处理html/jsp

package com.ser;
import java.io.File;
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
/**
 * Servlet implementation class FileSer
 */
@WebServlet("/FileSer")
@MultipartConfig(location="e://uploadFile",
    fileSizeThreshold=1024*1024*1000,
    maxFileSize=1024*1024*1000,
    maxRequestSize=1024*1024*1024
    )
public class FileSer extends HttpServlet {
  private static final long serialVersionUID = 1L;
  private static final String location="e://uploadFile";
  /**
   * @see HttpServlet#HttpServlet()
   */
  public FileSer() {
  }
  @Override
  public void init(ServletConfig config) throws ServletException
  {
    File file =new File("e://uploadFile");
    if(!file.exists()&& !file.isDirectory())
    {
      file.mkdir();
    }
  }
  /**
   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  }
  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    Part part= request.getPart("fileN");
    String fileType=part.getContentType();
    String fileHeader=part.getHeader("content-disposition");
    //String fileName=part.getName();
    long size=part.getSize();
    System.out.println(part);
    System.out.println(fileType);
    System.out.println(fileHeader);
    //System.out.println(fileName);
    System.out.println(size);
    String filename=fileHeader.substring(fileHeader.indexOf("filename=")+10, fileHeader.lastIndexOf("\""));
    part.write(filename);    
    response.getWriter().print(filename+"上传成功");
  }
}

总结

以上所述是小编给大家介绍的Form表单上传域(type="file")的使用(上传文件),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
把jquery 的dialog和ztree结合实现步骤
Aug 02 Javascript
javascript强大的日期函数代码分享
Sep 04 Javascript
javascript打印html内容功能的方法示例
Nov 28 Javascript
javascript弹出页面回传值的方法
Jan 28 Javascript
js实现表单Radio切换效果的方法
Aug 17 Javascript
JavaScript动态添加事件之事件委托
Jul 12 Javascript
js实现拖拽上传图片功能
Aug 01 Javascript
bootstrap switch开关组件使用方法详解
Aug 22 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
Oct 25 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
Dec 20 Javascript
Js实现复选框的全选、全不选反选功能代码实例
Feb 28 Javascript
react-router-dom 嵌套路由的实现
May 02 Javascript
微信小程序-滚动消息通知的实例代码
Aug 03 #Javascript
es6 字符串String的扩展(实例讲解)
Aug 03 #Javascript
浅谈pc端rem字体设置的问题
Aug 03 #Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
Aug 03 #Javascript
promise处理多个相互依赖的异步请求(实例讲解)
Aug 03 #Javascript
老生常谈js数据类型
Aug 03 #Javascript
详解JavaScript按概率随机生成事件
Aug 02 #Javascript
You might like
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
js弹出的对话窗口永远保持居中显示
2012/12/15 Javascript
JQuery的Ajax请求实现局部刷新的简单实例
2014/02/11 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
JavaScript动态生成二维码图片
2016/04/20 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
2018/07/27 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
Angular CLI 使用教程指南参考小结
2019/04/10 Javascript
微信小程序获取用户信息并保存登录状态详解
2019/05/10 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
2019/05/16 Javascript
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
python实现图像识别功能
2018/01/29 Python
Python定义二叉树及4种遍历方法实例详解
2018/07/05 Python
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
python自动发微信监控报警
2019/09/06 Python
thinkphp5 路由分发原理
2021/03/18 PHP
GAP欧盟网上商店:GAP EU
2016/09/13 全球购物
销售所有的狗狗产品:Dog.com
2016/10/13 全球购物
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
Java面试笔试题大全
2016/11/23 面试题
小学生期末评语大全
2014/04/21 职场文书
小学生春游活动方案
2014/08/20 职场文书
财务人员个人工作总结
2015/02/27 职场文书
创先争优活动个人总结
2015/03/04 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书