• 图片的上传与存储


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

    一、常用方法

          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);  // 将文件转存到其他的地方
    
    }

                              

  • 相关阅读:
    centos下安装chrome
    【CRT】设置 ip 显示和标签动作
    【IDEA】修改自动提示框的颜色
    【IDEA】monikai 主题
    【snmp】snmpwalk 指定端口
    【多对多】多对多取数无序的问题
    【百度搜索】屏蔽广告,高效搜索
    mybatis报错:Cause: java.io.FileNotFoundException: http://commons.apache.org/dtds/mbeans-descriptors.dtd
    怎么让request inputstream 可以多次读取
    win10下git bash console中文乱码
  • 原文地址:https://www.cnblogs.com/helloqiufei/p/12178900.html
Copyright © 2020-2023  润新知