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


相关推荐: 使用PHP下载CSS文件中的所有图片【几行代码即可实现】  Android中AutoCompleteTextView自动提示  Laravel如何与Inertia.js和Vue/React构建现代单页应用  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  JavaScript如何实现音频处理_Web Audio API如何工作?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  Swift开发中switch语句值绑定模式  ,网页ppt怎么弄成自己的ppt?  简历没回改:利用AI润色让你的文字更专业  浅谈javascript alert和confirm的美化  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  音响网站制作视频教程,隆霸音响官方网站?  如何基于云服务器快速搭建网站及云盘系统?  郑州企业网站制作公司,郑州招聘网站有哪些?  详解jQuery中的事件  如何快速搭建二级域名独立网站?  Laravel如何升级到最新版本?(升级指南和步骤)  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  打造顶配客厅影院,这份100寸电视推荐名单请查收  EditPlus中的正则表达式 实战(4)  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  ,怎么在广州志愿者网站注册?  利用python获取某年中每个月的第一天和最后一天  使用spring连接及操作mongodb3.0实例  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  如何在企业微信快速生成手机电脑官网?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  敲碗10年!Mac系列传将迎来「触控与联网」双革新  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  详解vue.js组件化开发实践  javascript基本数据类型及类型检测常用方法小结  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  高防服务器租用如何选择配置与防御等级?  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  用v-html解决Vue.js渲染中html标签不被解析的问题  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  北京网站制作公司哪家好一点,北京租房网站有哪些?  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  iOS验证手机号的正则表达式  如何在IIS中新建站点并配置端口与IP地址?  高防服务器租用指南:配置选择与快速部署攻略