上传图片

来源:互联网 发布:c语言单竖线 编辑:程序博客网 时间:2024/06/04 19:26
页面上: enctype="multipart/form-data"  
 method="post"spring-mvc.xml配置文件里:
<bean id="multipartResolver"               class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="defaultEncoding" value="UTF-8" /><!-- 指定所上传文件的总大小,单位字节。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 --><property name="maxUploadSize" value="10240000" />

pom文件依赖jar包

<dependency>    <groupId>commons-fileupload</groupId>    <artifactId>commons-fileupload</artifactId>    <version>1.3.3</version></dependency><dependency>    <groupId>commons-io</groupId>    <artifactId>commons-io</artifactId>    <version>2.5</version></dependency>

controller层里:

 //获取文件名字        String originalFilename = stockPhoto.getOriginalFilename();        System.out.println(originalFilename + "++++++++++++++++++++");        //获取不会重复的毫秒数        long l = System.currentTimeMillis();        //新名字        String newName = l + originalFilename;        System.out.println(newName + "----------++++++");        //图片的输入流名字        InputStream inputStream = stockPhoto.getInputStream();        //存在于项目中的路径//        String a="D:\\myproject\\LianXi\\web\\image";        String wlPath = "D:\\myproject\\LianXi\\web\\images/" + newName;        //逻辑路径,存到数据库中        String ljPath = "../images/" + newName;        //临时路径        String realPath = request.getSession().getServletContext().getRealPath("/");        String lsPath = realPath + "//images//" + newName;        //如果没有那个文件夹就创建        File wlFile = new File("D:\\myproject\\LianXi\\web\\images");        if (!wlFile.exists()) {            wlFile.mkdir();        }        File isFile = new File(realPath + "\\images\\");        if (!isFile.exists()) {            isFile.mkdir();        }        //不为空时        if (!stockPhoto.isEmpty()) {            //输出流 写物理路径            FileOutputStream wlStream = new FileOutputStream(wlPath);            //输出流 写临时路径            FileOutputStream lsStream = new FileOutputStream(lsPath);            int len = 0;            while ((len = inputStream.read()) != -1) {                wlStream.write(len);//写入                lsStream.write(len);            }            wlStream.flush();            lsStream.flush();            wlStream.close();            lsStream.close();            inputStream.close();        }        System.out.println(wlPath);        System.out.println(ljPath);        System.out.println(lsPath);
        stock.setStockPhoto(ljPath);