首页 > 编程 > JavaScript > 正文

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

2019-11-19 15:54:48
字体:
来源:转载
供稿:网友

一,单个文件的上传

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")的使用(上传文件),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表