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操作Cookie写入和读取实例代码
Oct 20 Javascript
jQuery遍历json的方法分析
Apr 16 Javascript
Jquery和Js获得元素标签名称的方法总结
Oct 08 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
Oct 27 Javascript
整理一下常见的IE错误
Nov 18 Javascript
JavaScript数据结构学习之数组、栈与队列
May 02 Javascript
Angular实现的简单查询天气预报功能示例
Dec 27 Javascript
Vue验证码60秒倒计时功能简单实例代码
Jun 22 Javascript
php中and 和 &amp;&amp;出坑指南
Jul 13 Javascript
vue 解除鼠标的监听事件的方法
Nov 13 Javascript
Node.js文本文件BOM头的去除方法
Nov 22 Javascript
三剑客:offset、client和scroll还傻傻分不清?
Dec 04 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+MySQL 制作简单的留言本
2009/11/02 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
javascript 多级checkbox选择效果
2009/08/20 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
2015/03/27 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
jquery.cookie实现的客户端购物车操作实例
2015/12/24 Javascript
浅谈Vue的基本应用
2016/12/27 Javascript
web打印小结
2017/01/11 Javascript
JS中的Replace()传入函数时的用法详解
2017/09/11 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python的ORM框架SQLObject入门实例
2014/04/28 Python
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
python和php哪个容易学
2020/06/19 Python
基于selenium及python实现下拉选项定位select
2020/07/22 Python
css3圆角样式分享自定义按钮样式
2013/12/27 HTML / CSS
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
水上运动奥特莱斯:Wasterports Outlet
2018/08/08 全球购物
AJAX的优缺点都有什么
2015/08/18 面试题
中专生求职自荐信范文
2013/12/22 职场文书
幼儿教师工作感言
2014/02/14 职场文书
2014年端午节活动方案
2014/03/11 职场文书
工程项目建议书范文
2014/03/12 职场文书
学生安全承诺书
2014/05/22 职场文书
2016年感恩节寄语
2015/12/07 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书
详解Vue项目的打包方式(生成dist文件)
2022/01/18 Vue.js