通过ajax上传文件

2021-02-11 22:17

阅读:679

标签:添加   cep   pen   乱码问题   disk   err   end   com   file   

html前端代码(表单内的标签必须有name属性才可以被后台获取)
技术图片
必须要在form标签中设置属性 ??enctype="multipart/form-data"

需要借助 FormData 对象

      var formData = new FormData($("#form")[0]);

Ajax 代码

后端代码

private Map getParameters(HttpServletRequest request) {
        Map params = new HashMap();
        try {
            DiskFileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            List items = upload.parseRequest(request);
            for (FileItem item : items) {
                if (item.isFormField()) {   //判断是否是普通的表单类型
                    params.put(item.getFieldName(), item.getString());
                }else{      //否则该表单是 File 型的
                    String fieldName = item.getFieldName(); //返回表单的name属性
                    String name = item.getName();   //返回文件的名称
                    File fil = new File("D:\\"+name);   //创建文件对象
                    item.write(fil);    //把上传的文件下载
                }
            }
        } catch (FileUploadException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return params;
    }

Ajax中文乱码问题:https://blog.csdn.net/qq_22771739/article/details/81564042

通过ajax上传文件

标签:添加   cep   pen   乱码问题   disk   err   end   com   file   

原文地址:https://www.cnblogs.com/c21w/p/13034898.html


评论


亲,登录后才可以留言!