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

发布时间 - 2026-01-11 02:37:17    点击率:

一,单个文件的上传

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 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 音乐网站服务器如何优化API响应速度?  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  JavaScript如何操作视频_媒体API怎么控制播放  如何快速查询网址的建站时间与历史轨迹?  香港服务器如何优化才能显著提升网站加载速度?  如何用IIS7快速搭建并优化网站站点?  Laravel如何实现一对一模型关联?(Eloquent示例)  如何快速搭建支持数据库操作的智能建站平台?  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  Laravel如何记录自定义日志?(Log频道配置)  微信小程序 HTTPS报错整理常见问题及解决方案  电商网站制作价格怎么算,网上拍卖流程以及规则?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  linux写shell需要注意的问题(必看)  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  QQ浏览器网页版登录入口 个人中心在线进入  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  详解Android图表 MPAndroidChart折线图  java获取注册ip实例  详解jQuery中基本的动画方法  如何构建满足综合性能需求的优质建站方案?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  如何在景安服务器上快速搭建个人网站?  Laravel如何处理表单验证?(Requests代码示例)  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  利用python获取某年中每个月的第一天和最后一天  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  开心动漫网站制作软件下载,十分开心动画为何停播?  教你用AI将一段旋律扩展成一首完整的曲子  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  黑客入侵网站服务器的常见手法有哪些?  微信小程序 wx.uploadFile无法上传解决办法  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  Laravel中的withCount方法怎么高效统计关联模型数量  Laravel怎么实现模型属性的自动加密  高端建站如何打造兼具美学与转化的品牌官网?  如何用景安虚拟主机手机版绑定域名建站?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  Laravel怎么在Controller之外的地方验证数据  长沙做网站要多少钱,长沙国安网络怎么样?  郑州企业网站制作公司,郑州招聘网站有哪些?  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  移动端脚本框架Hammer.js  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  如何在阿里云部署织梦网站?