21xrx.com
2024-12-22 22:37:36 Sunday
登录
文章检索 我的文章 写文章
Java实现上传文件到服务器——示例代码
2023-06-16 14:52:46 深夜i     --     --
Java Servlet

在Web应用程序开发中,处理文件上传是一项基本任务。本文将介绍如何使用Java技术将文件上传到服务器。

我们可以使用Java Servlet技术接收和处理来自客户端的文件上传请求。Servlet提供了多个组件,可以获取上传文件的详细信息,并编写处理文件上传的代码。

以下是一个Java Servlet的示例代码,可用于处理文件上传请求:


@WebServlet("/UploadServlet")

@MultipartConfig(maxFileSize = 16177215)

public class UploadServlet extends HttpServlet {

  

  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    

    String savePath = "/uploads"; // 设置上传文件的保存路径

    File fileSaveDir = new File(savePath);

    if (!fileSaveDir.exists()) {

      fileSaveDir.mkdir();

    }

    for (Part part : request.getParts()) {

      String fileName = extractFileName(part);

      if (fileName != null && !fileName.equals("")) {

        part.write(savePath + File.separator + fileName);

      }

    }

    response.sendRedirect(request.getContextPath() + "/upload-success.jsp");

  }

  private String extractFileName(Part part) {

    String contentDisp = part.getHeader("content-disposition");

    String[] items = contentDisp.split(";");

    for (String s : items) {

      if (s.trim().startsWith("filename")) {

        return s.substring(s.indexOf("=") + 2, s.length()-1);

      }

    }

    return null;

  }

}

上述代码的核心是“@MultipartConfig”注释,它指示Servlet容器解析请求中的multipart/form-data数据,并写入磁盘。 随后,部分数据的信息可以从request对象中获得,如示例代码中所示。

现在,我们已经成功编写了一个处理文件上传请求的Java Servlet。在Web应用程序中使用时,我们还需要创建一个HTML页面,用于选择要上传的文件并将请求发送到Servlet进行处理。

下面的HTML代码演示了如何使用

元素选择文件并将请求发送到上述Java Servlet:

 

   文件上传示例

  

    

    

    

  

我们只需将上述代码保存为“upload.html”文件,并将其放在Web应用程序的根目录下即可。

、文件上传、@MultipartConfig

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复