图片的上传与存储

                                                        ------------------------------ 你的时间不多了,抓紧做你想做的事情 

一、常用方法

      1) 将图片进行 base46编码, 然后存储到数据库中

      2) 对图片进行二进制编码,存储到数据库、

      3) 将图片存储到文件系统中,数据库存储文件的地址

     结论: 数据库多么的宝贵,一般不直接将图片存储到数据库中,都是存储到其他地方,然后获取这个地址,使用第三种方法(这个地址就是图片在服务其上面的地址)

二、 使用MutiPartFile 类实现文件上传   

  (1) 逻辑框图

            

   (2)前端页面:

 1 <body>  
 2 <h2>文件上传实例</h2>  
 3   
 4   
 5 <form action="fileUpload.html" method="post" enctype="multipart/form-data">  
 6     选择文件:<input type="file" name="file">  
 7     <input type="submit" value="提交">   
 8 </form>  
 9</body>  

   注意: 上面的cnctype 必须为 multipart/form-data

  (3)后端处理

       @RequestMapping("fileUpload")  
      public String fileUpload(@RequestParam("file") MultipartFile file) {  
          // 判断文件是否为空  
          if (!file.isEmpty()) {  
              try {  
                  // 创建文件保存路径  
                  String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/"  
                          + file.getOriginalFilename();  
                 // 转存文件  
                 file.transferTo(new File(filePath));  
             } catch (Exception e) {  
                 e.printStackTrace();  
             }  
         }  
         // 重定向  
         return "redirect:/list.html";  
     }  

   

三、MutipartFile 类的常用方法
interface MultipartFile {

public byte[] getBytes();

public String getContentType();    // 获取文件的类型

public java.io.InputStream getInputStream();

public String getName();   

public String getOriginalFilename();   // 获取文件的名字

public long getSize();  // 获取文件大小

public boolean isEmpty(); // 判断文件是否为空

public void transferTo(java.io.File dest);  // 将文件转存到其他的地方

}

                          

原文地址:https://www.cnblogs.com/helloqiufei/p/12178900.html