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;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM