使用FormData进行Ajax请求上传文件的实例代码

(编辑:jimmy 日期: 2024/9/23 浏览:2)

Servlet3.0开始提供了一系列的注解来配置Servlet、Filter、Listener等等。这种方式可以极大的简化在开发中大量的xml的配置。从这个版本开始,web.xml可以不再需要,使用相关的注解同样可以完成相应的配置。

a.选中上传

使用FormData进行Ajax请求上传文件的实例代码

b:后台显示

使用FormData进行Ajax请求上传文件的实例代码

c:上传的文件夹

使用FormData进行Ajax请求上传文件的实例代码

html代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Ajax上传</title>
 <script src="/UploadFiles/2021-04-02/jquery-1.12.4.js">

java后台代码:

@WebServlet("/ajaxUpload")
@MultipartConfig //开启上传功能
/**
 * @author hh
 */
public class FileUploadServlet extends HttpServlet {
 @Override
 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  req.setCharacterEncoding("utf-8");
  //获取用户名
  String userName=req.getParameter("userName");
  //获取年龄
  String age=req.getParameter("age");
  System.out.println(userName);
  System.out.println(age);
  //获取项目部署的绝对路径
  String uploadPath=req.getServletContext().getRealPath("/photos");
  //构建上传的文件夹
  File dir=new File(uploadPath);
  if(!dir.exists()){
   dir.mkdir();
  }
  //获取所有上传的Part
  Collection<Part> parts= req.getParts();
  for (Part part:parts) {
   //判断上传的类型是否为空,如果为空则不执行上传
   if(part.getContentType()!=null){
    //获取文件名
    String fileName=part.getSubmittedFileName();
    //执行上传
    part.write(uploadPath+File.separator+fileName);
   }
  }
  //响应上传成功
  resp.getWriter().println("uplaod success");
 }
}

总结

以上所述是小编给大家介绍的使用FormData进行Ajax请求上传文件的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!