全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

一,单个文件的上传

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


# Form表单上传  # form  # 上传文件  # nodejs 实现模拟form表单上传文件  # springmvc利用jquery.form插件异步上传文件示例  # jQuery用FormData实现文件上传的方法  # NodeJS使用formidable实现文件上传  # Ajax提交Form表单及文件上传的实例代码  # jQuery Ajax使用FormData对象上传文件的方法  # 上传  # 小编  # 在此  # 给大家  # 表单  # 所述  # 给我留言  # 感谢大家  # 疑问请  # 有任何  # setAttribute  # body  # getContextPath  # post  # FileSer  # method  # action  # request 


相关文章: 清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  建站之星安装需要哪些步骤及注意事项?  开封网站制作公司,网络用语开封是什么意思?  建站之星导航菜单设置与功能模块配置全攻略  如何通过虚拟主机快速完成网站搭建?  建站之星安装提示数据库无法连接如何解决?  如何零基础在云服务器搭建WordPress站点?  开心动漫网站制作软件下载,十分开心动画为何停播?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  北京制作网站的公司,北京铁路集团官方网站?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  建站之星IIS配置教程:代码生成技巧与站点搭建指南  高端企业智能建站程序:SEO优化与响应式模板定制开发  C++如何编写函数模板?(泛型编程入门)  建站10G流量真的够用吗?如何应对访问高峰?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  如何在阿里云域名上完成建站全流程?  如何在云指建站中生成FTP站点?  如何选购建站域名与空间?自助平台全解析  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  建站org新手必看:2024最新搭建流程与模板选择技巧  成都响应式网站开发,dw怎么把手机适应页面变成网页?  如何通过wdcp面板快速创建网站?  如何在建站主机中优化服务器配置?  制作农业网站的软件,比较好的农业网站推荐一下?  如何在IIS中新建站点并解决端口绑定冲突?  如何用低价快速搭建高质量网站?  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  建站之星如何取消后台验证码生成?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  如何在Golang中指定模块版本_使用go.mod控制版本号  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  制作表格网站有哪些,线上表格怎么弄?  如何通过虚拟机搭建网站?详细步骤解析  如何用美橙互联一键搭建多站合一网站?  红河网站制作公司,红河事业单位身份证如何上传?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何制作一个表白网站视频,关于勇敢表白的小标题?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  详解jQuery停止动画——stop()方法的使用  建站之星代理平台如何选择最佳方案?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  金*站制作公司有哪些,金华教育集团官网?  如何在腾讯云服务器上快速搭建个人网站?  图册素材网站设计制作软件,图册的导出方式有几种?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  建站之星云端配置指南:模板选择与SEO优化一键生成  如何在IIS管理器中快速创建并配置网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。