您当前的位置: 首页 >  servlet

liaowenxiong

暂无认证

  • 1浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Servlet文件上传/上传文件功能的实现(commons-fileupload)

liaowenxiong 发布时间:2022-03-01 16:27:00 ,浏览量:1

文章目录
  • 正常步骤
  • 使用 commons-fileupload.jar 实现文件上传

正常步骤

step1 在 form 中,设置 method="post",设置 enctype="multipart/form-data"。enctype 属性用于设置表单的编码方式,对于文件上传,必须设置成"multipart/form-data"。

step2 在 Servlet 类当中,不能够使用 request.getParameter() 方法来获得参数值。要使用 InputStream request.getInputStream(); 分析 InputStream 来获得参数值。直接分析 InputStream 比较复杂,一般使用一些封装好的工具(比如 Apache 提供的 commons-fileupload.jar)来获得参数值。

使用 commons-fileupload.jar 实现文件上传

Maven 作为构建工具,添加依赖:

 
            commons-fileupload
            commons-fileupload
            1.3.1
        

FileUploadServlet 的代码:

package priv.lwx.servlet.web;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.UUID;

/**
 * description
 *
 * @author liaowenxiong
 * @date 2022/2/28 19:48
 */
@WebServlet("/fileupload")
public class FileUploadServlet extends HttpServlet {
  @Override
  protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    // 创建DiskFileItemFactory对象,该对象为解析器提供了缺省的配置
    DiskFileItemFactory factory = new DiskFileItemFactory();
    // 创建解析器
    ServletFileUpload sfu = new ServletFileUpload(factory);
    // 使用解析器解析
    try {
      List items = sfu.parseRequest(req);
      // 遍历集合
      for (int i = 0; i 

    username:
    选择一个文件:
    



关注
打赏
1661566967
查看更多评论
立即登录/注册

微信扫码登录

0.2468s