• SpringMVC读取本地图片和上传图片


    /**
         * 获取本地图片
         * @param pictureName //文件名
         * @return
         */
        @RequestMapping("/picReq")
        public void ShowImg(String pictureName, HttpServletRequest request, HttpServletResponse response) throws IOException{
            //文件名
            String imgFile = request.getParameter("imgFile");
            //这里是存放图片的文件夹地址
            String path= "F:/DreamCinemaImg";
            FileInputStream fileIs=null;
            OutputStream outStream = null;
            try {
                fileIs = new FileInputStream(path+"/"+pictureName);
                //得到文件大小
                int i=fileIs.available();
                //准备一个字节数组存放二进制图片
                byte data[]=new byte[i];
                //读字节数组的数据
                fileIs.read(data);
                //设置返回的文件类型
                response.setContentType("image/*");
                //得到向客户端输出二进制数据的对象
                outStream=response.getOutputStream();
                //输出数据
                outStream.write(data);
                outStream.flush();
            } catch (Exception e) {
                logger.info("系统找不到图像文件:"+path+"/"+imgFile);
                return;
            }finally {
                //关闭输出流
                outStream.close();
                //关闭输入流
                fileIs.close();
            }
        }

    SpringMVC上传文件

    1、首先先导入spring相关的依赖

    2、导入文件上传的依赖

    <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
    </dependency>

    3、springmvc配置文件添加上传文件的配置

     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <!-- 限制文件上传的总大小(单位:字节),不配置此属性默认不限制 -->
            <property name="maxUploadSize" value="1048576000000"/>
            <!--指定文件写入内存的大小-->
            <property name="maxInMemorySize" value="1048576000"/>
            <!-- 设置文件上传的默认编码-->
            <property name="defaultEncoding" value="utf-8"/>
    </bean>

    4、代码

    /**
         * 图片上传
         * @param file
         * @param picNum
         * @return
         */
        @RequestMapping("/uploadPic")
        @ResponseBody
        public ResponseView  addProduct(MultipartFile file, Integer picNum){
            ResponseView rv = new ResponseView();
            //构建文件目录
            File uploadDir = new File("F:/DreamCinemaImg");
            //如果目录不存在,则创建
            if(!uploadDir.exists()){
                uploadDir.mkdir();
            }
            //获取上传的文件名
            String fileName = file.getOriginalFilename();
            //构建一个完整的文件上传对象
            File uploadFile = new File(uploadDir.getAbsolutePath() + "/" + fileName);
            //判断文件是否存在
            if(!uploadFile.exists()) {
                try {
                    //通过transferTo方法进行上传
                    file.transferTo(uploadFile);
                    rv.setCode(0);
                    //把文件名放入响应视图
                    rv.setData(fileName);
                } catch (IOException e) {
                    e.printStackTrace();
                    rv.setCode(500);
                    throw new RuntimeException(e.getMessage());
                }
            }else{
                rv.setCode(400);
            }
            return rv;
        }
    学会用不同的角度看待每个问题!
  • 相关阅读:
    Tarjan专题
    Catalan数
    状压DP
    威尔逊定理证明:
    【fzoj 2376】「POJ2503」Babelfish
    Android 源码
    Android实现推送方式解决方案
    Android apk 签名
    圆角的实现
    Android 资源
  • 原文地址:https://www.cnblogs.com/nisiweiLIQIYONG/p/10053471.html
Copyright © 2020-2023  润新知