• springmvc的图片上传与导出显示


    1.前端文件上传需要在form表单内添加enctype="multipart/form-data" ,以二进制传递:

    2.web.xml文件内配置

    <servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>

    3.springmvc.xml文件配置

    <!-- 文件上传配置 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="900000000000"/>
    </bean>

    4.Controlle里面接受MultipartFile,在tomcat内创建虚拟盘指向盘符比如"E:\picture\"

    将图片名字存储到数据库内

    以下为为实现代码:

    jsp页面代码

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form"  %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
        <meta name="keywords" content="响应式后台">
        <meta name="description" content="使用了Html5+CSS3等现代技术">
    
        <link rel="shortcut icon" href="favicon.ico"> <link href="css/bootstrap.min14ed.css?v=3.3.6" rel="stylesheet">
        <link href="css/font-awesome.min93e3.css?v=4.4.0" rel="stylesheet">
        <link href="css/plugins/blueimp/css/blueimp-gallery.min.css" rel="stylesheet">
    
        <link href="css/animate.min.css" rel="stylesheet">
        <link href="css/style.min862f.css?v=4.1.0" rel="stylesheet">
        
        <link href="css/style.css" rel="stylesheet" type="text/css" />
          
        <style>
            .lightBoxGallery img {
                margin: 5px;
                height : 150px;
            }
        </style>
      
    
    <script type="text/javascript">  
        window.onload = function() {  
            var w = 250;//设置最大宽度,也可根据img的外部容器 而动态获得,比如:$("#demo").width();  
            $("img").each(function() {//如果有很多图片,使用each()遍历   
                var img_w = $(this).width();//图片宽度   
                var img_h = $(this).height();//图片高度   
                if (img_w > w) {//如果图片宽度超出指定最大宽度   
                    var height = (w * img_h) / img_w; //高度等比缩放   
                    $(this).css( {  
                        "width" : w  
                    });//设置缩放后的宽度和高度   
                }  
            });  
      
        }  
        $(document).ready(function() {  
            
        })  
    </script>  
    </head>
    <body class="gray-bg">
        <div class="wrapper wrapper-content">
            <div class="row">
                <div class="col-lg-12">
                    <div class="ibox float-e-margins">
    
                        <div class="ibox-content">
                            <div>
                            <sf:form action="fileUpload.do" method="post" enctype="multipart/form-data" >
                            <table>
                            <tr>
                            
                            <td>上传风险实景图:</td>
                            <td><input type="file" name="pic"/></td>
    
                            <td><input type="submit" value="上传"></td>
                            </tr>
                            </table>
                            </sf:form>
                            </div>
                            <div class="lightBoxGallery">
                            
                                <c:if test="${not empty pictureList}">
                                <c:forEach items="${pictureList}" var="p">
                                <a href="/pp/${p.name}" class="big" title="风险图" data-gallery=""><img class="img" src="/pp/${p.name}"></a>
                                
                                </c:forEach>
                                </c:if>
                                
    
                                <div id="blueimp-gallery" class="blueimp-gallery">
                                    <div class="slides"></div>
                                    <h3 class="title"></h3>
                                    <a class="prev"><</a>
                                    <a class="next">></a>
                                    <a class="close">×</a>
                                    <a class="play-pause"></a>
                                    <ol class="indicator"></ol>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <script src="js/jquery.min.js?v=2.1.4"></script>
        <script src="js/bootstrap.min.js?v=3.3.6"></script>
        <script src="js/content.min.js?v=1.0.0"></script>
        <script src="js/plugins/blueimp/jquery.blueimp-gallery.min.js"></script>
        <script type="text/javascript" src="http://tajs.qq.com/stats?sId=9051096" charset="UTF-8"></script>
    </body>
    </html>

    Controller类里面代码:

    package com.is.picture.control;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.List;
    import java.util.UUID;
    
    import javax.annotation.Resource;
    import javax.servlet.http.HttpServletRequest;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.multipart.MultipartFile;
    import org.springframework.web.servlet.ModelAndView;
    
    import com.is.picture.bean.Picture;
    import com.is.picture.service.pictureService;
    
    @Controller
    public class pictureControl {
        @Resource
        private pictureService pictureservice;
        
        
        
        @RequestMapping(value="picture")
        public ModelAndView pictureList(HttpServletRequest request)
        {
            ModelAndView mav = new ModelAndView(); 
            try {
                
                List<Picture> pictureList = pictureservice.findAll();
                
                System.out.println(pictureList.size());
                
                mav.addObject("pictureList", pictureList);
                
                mav.setViewName("picture/NewFile");
                
                System.out.println("明明");
                
                } catch (Exception e) {
    
                e.printStackTrace();
    
                }
    
                return mav;
    
                
        }
    
        @RequestMapping(value="fileUpload")
        public ModelAndView picturesc(MultipartFile pic)
        {
            Picture pt = new Picture();
             ModelAndView modelAndView = new ModelAndView();
            try {
                String originalName = pic.getOriginalFilename();
                if(pic != null && originalName != null && originalName.length()>0){
                //1、保存图片的物理路径
    
                String store = "E:\picture\";
    
                //2、新的图片名称
    
                String picNewName = UUID.randomUUID()+originalName.substring(originalName.lastIndexOf("."));
    
                //3、新图片产生
    
                File file = new File(store+picNewName);
    
                //4、将内存中的数据写入磁盘
    
                pic.transferTo(file);
                
                pt.setName(picNewName);
                
                
                }
                
                pictureservice.add(pt);
                
                modelAndView.setViewName("redirect:pictureSave.do");
                System.out.println("你说呢");
                } catch (IllegalStateException e) {
                    
                    e.printStackTrace();
                } catch (IOException e) {
                    
                    e.printStackTrace();
                }
            return modelAndView;
            }
        }
  • 相关阅读:
    MyEclipse 中 添加 js自动完成模版
    jQuery css,position,offset,scrollTop,scrollLeft用法
    eclipse中报错:Errors running builder “Integrated External Tool Builder” on project
    jQuery children等筛选用法
    jQuery html text val方法使用
    EventBus在Android中的简单使用
    mvc 中Range中max和min值晚绑定
    &lt;转&gt; Libvirt学习总结
    hdu 4409 Family Name List(LCA&amp;有坑点)
    Mybatis 入门之resultMap与resultType解说实例
  • 原文地址:https://www.cnblogs.com/tfl-511/p/6255271.html
Copyright © 2020-2023  润新知