栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMvc 普通文件本地上传(AJAX)(SpringMvc⑥)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMvc 普通文件本地上传(AJAX)(SpringMvc⑥)

前言:先思考一下文件上传到哪里?---------服务器

1.文件上传的前提条件

①在表单中 

②method的提交方式是post

③上传的文件编码不能是默认编码,要为二进制编(enctype="multipart/form-date")

④input的类型是File类型 并且输入框要有name属性

2.文件上传的原理

客户端发送请求到达前端控制器,--》文件解析器---》返回给前端控制器--》Controller中文件上传的方法。

注意:需要将表单中的数据存储到数据库,不能直接存图片,需要存储图片的路径

3.普通本地上传。

3.1 配置文件上传的解析器


    

 3.2 文件上传的依赖

 


  commons-fileupload
  commons-fileupload
  1.4

3.3 Jsp前端代码

<%--
  Created by IntelliJ IDEA.
  User: 24284
  Date: 2021/12/7
  Time: 15:00
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title



头像:
姓名:
性别:

3.4 controller 控制层代码

@Controller
public class UploadController1 {

    @RequestMapping("/a")
    public String uoload01(MultipartFile myfile, HttpServletRequest request, User user){

        HttpSession session = request.getSession();
        ServletContext servletContext = session.getServletContext();
        String path = servletContext.getRealPath("/upload");

        File file = new File(path);
        if(!file.exists()){
            file.mkdir();
        }
        String filename = myfile.getOriginalFilename();

        filename=new Date().getTime()+filename;
        File target = new File(path + "/"+ filename);
        try {
            myfile.transferTo(target);
        } catch (Exception e) {
            e.printStackTrace();
        }
        String headImg="http://localhost:8080/SpringMvc05/upload/"+filename;
        request.setAttribute("imgsrc",headImg);
        user.setHeadImg(headImg);
        return "success";    

    }

}

3.5 看是否在tomcat的部署的工程目录下有选择的图片,若是有就代表本地上传成功

 4.  AJAX的普通本地上传

4.1 配置文件上传的解析器


    

 4.2 文件上传的依赖


  commons-fileupload
  commons-fileupload
  1.4

4.3 Jsp前端界面代码

<%--
  Created by IntelliJ IDEA.
  User: 24284
  Date: 2021/12/7
  Time: 16:10
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title
    



头像:
姓名:
性别:

4.4 Controller 控制代码

import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;


@Controller
public class uploadController2 {
    @RequestMapping("/b")
    @ResponseBody
    public Map upload2(MultipartFile myfile, HttpServletRequest request, User user ){
        Mapmap=new HashMap();
        HttpSession session = request.getSession();
        ServletContext servletContext = session.getServletContext();
        String path = servletContext.getRealPath("upload");
        File file = new File(path);
        if(!file.exists()){
            file.mkdirs();
        }
        String filename = myfile.getOriginalFilename();
        filename = new Date().getTime() + filename;
        File target = new File(path + "/" + filename);
        try {
            myfile.transferTo(target);
            map.put("code",2000);
            map.put("msg","上传成功");
            map.put("imgsrc","http://localhost:8080/SpringMvc05/upload/"+filename);
            return map;
        } catch (IOException e) {
            e.printStackTrace();
        }
        map.put("code",5000);
        map.put("msg","上传失败");
        return map;
    }

}

同理在tomcat的服务部署目录下看能否找到上传的文件

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/644811.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号