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 相关文章推荐
js常用代码段收集
Oct 28 Javascript
js中关于一个分号的崩溃示例
Nov 11 Javascript
js中prototype用法详细介绍
Nov 14 Javascript
JS(JQuery)操作Array的相关方法介绍
Feb 11 Javascript
Javascript获取CSS伪元素属性的实现代码
Sep 28 Javascript
javascript显示上周、上个月日期的处理方法
Feb 03 Javascript
jQuery实现选项卡功能(两种方法)
Mar 08 Javascript
jQuery实现简单的滑动导航代码(移动端)
May 22 jQuery
微信小程序之电影影评小程序制作代码
Aug 03 Javascript
对angularjs框架下controller间的传值方法详解
Oct 08 Javascript
jQuery ajax仿Google自动提示SearchSuggess功能示例
Mar 28 jQuery
Vue中qs插件的使用详解
Feb 07 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
解析link_mysql的php版
2013/06/30 PHP
关于php支持分块与断点续传文件下载功能代码
2014/05/09 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
2020/11/23 PHP
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
js Dom实现换肤效果
2017/10/21 Javascript
利用HBuilder打包前端开发webapp为apk的方法
2017/11/13 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
python中的列表推导浅析
2014/04/26 Python
Python判断变量是否已经定义的方法
2014/08/18 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
Flask数据库迁移简单介绍
2017/10/24 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
python实现人人自动回复、抢沙发功能
2018/06/08 Python
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
快时尚眼镜品牌,全国连锁眼镜店:LOHO眼镜生活
2018/10/08 全球购物
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
初中科学教学反思
2014/01/21 职场文书
初一家长会邀请函
2014/01/31 职场文书
个人委托书怎么写
2014/04/04 职场文书
中餐厅经理岗位职责
2014/04/11 职场文书
2014年教师德育工作总结
2014/11/10 职场文书
2015-2016年小学教导工作总结
2015/07/21 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL