• SpringMVC 上传功能


                              Spring框架上传jpg文件方法

    首先需要准备一个选择图片上传的jsp页面:

    <form action=”upload” method =”post”  enctype=”multipart/form-data”>/*这个声明是很重要的,表明这个表单支持多元数据,如果没有会导致失败。*/

    <input type=”file” accept=”image/*” name =”image” />

    <input type=”submit” value=”upload”>

    </form>

    以上是前端页面,接下来是spring的后端流程

    首先在控制器的servletxml 上表明支持开放图片上传功能:

    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />

     

    再创建一个实体类,这个实体类保证spring框架通过javaBean来进行图像文件的对象转换和传输:

     


    public class UplaodImageFile {

        MultipartFile image;

        public MultipartFile getImage() {
            return image;
        }

        public void setImage(MultipartFile image) {
            this.image = image;
        }

    }

    下一步在控制器类包中建立控制器,方法传输两个参数 一个是request对象,用来获取当前的项目的路径,以便获取存储图片的路径,另一个是刚刚创建的实体类UplaodImageFile对象。

    方法流程:首先创建一个随机名称,保证图片名字不一样导致覆盖,再获取路径,创建后缀为.Jpg 的file对象 ,完成之后,用 file.getImage().transferTo(newFile) 这条执行语句来完成图片转换上传。

     

    主要代码:public ModelAndView upload(HttpServletRequest request , UplaodImageFile file) throws  IOException,IllegalStateException{

           String name = RandomStringUtils.randomAlphanumeric(10);
            String fileName = name +".jpg";
            File newFile = new File(request.getServletContext().getRealPath("/image"),fileName);
            //System.out.println(newFile);
            newFile.getParentFile().mkdirs();
            System.out.println(newFile);
            file.getImage().transferTo(newFile);
            ModelAndView mav = new ModelAndView("showImage");
            mav.addObject("imageName",fileName);
            return  mav;
        }

    }

     

     

     

     

  • 相关阅读:
    解释之前遗留的方法覆盖问题
    多态在开发中的作用
    多态的基础语法
    Go 统计汉子字符
    Go map
    Go make和new的区别
    Go 指针
    Go 切片
    Go数组
    Go中交换两个值类型
  • 原文地址:https://www.cnblogs.com/qq1005801715/p/11592693.html
Copyright © 2020-2023  润新知