<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      圖片或文件的二進(jìn)制存儲(chǔ)與數(shù)據(jù)庫(kù)映射設(shè)計(jì)

      圖片或文件的二進(jìn)制存儲(chǔ)與數(shù)據(jù)庫(kù)映射設(shè)計(jì)

      圖片或文件的二進(jìn)制存儲(chǔ)與數(shù)據(jù)庫(kù)映射設(shè)計(jì)

      在某些系統(tǒng)中,文件或圖片可能需要存儲(chǔ)在數(shù)據(jù)庫(kù)中,而非本地磁盤(pán)。本文介紹如何將文件以二進(jìn)制形式存入數(shù)據(jù)庫(kù)并實(shí)現(xiàn)上傳與下載功能。

      一、數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)

      CREATE TABLE file_storage (
          id BIGINT PRIMARY KEY AUTO_INCREMENT,
          filename VARCHAR(255),
          content_type VARCHAR(100),
          data LONGBLOB,
          upload_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
      );
      

      二、實(shí)體類(lèi)映射

      @Entity
      @Table(name = "file_storage")
      public class FileStorage {
      
          @Id
          @GeneratedValue(strategy = GenerationType.IDENTITY)
          private Long id;
      
          private String filename;
          private String contentType;
      
          @Lob
          @Column(columnDefinition = "LONGBLOB")
          private byte[] data;
      
          private Timestamp uploadTime;
      }
      

      三、文件上傳接口

      @PostMapping("/upload")
      public String upload(@RequestParam("file") MultipartFile file) throws IOException {
          FileStorage fs = new FileStorage();
          fs.setFilename(file.getOriginalFilename());
          fs.setContentType(file.getContentType());
          fs.setData(file.getBytes());
          repository.save(fs);
          return "上傳成功";
      }
      

      四、文件下載接口

      @GetMapping("/download/{id}")
      public void download(@PathVariable Long id, HttpServletResponse response) throws IOException {
          FileStorage fs = repository.findById(id).orElseThrow();
          response.setContentType(fs.getContentType());
          response.setHeader("Content-Disposition", "attachment; filename=" + fs.getFilename());
          ServletOutputStream out = response.getOutputStream();
          out.write(fs.getData());
          out.flush();
      }
      

      五、注意事項(xiàng)

      • 圖片文件較大時(shí)建議壓縮或限制上傳大小
      • 可將數(shù)據(jù)遷移至云存儲(chǔ),僅在數(shù)據(jù)庫(kù)保留元數(shù)據(jù)

      這種方式適用于小文件、需要強(qiáng)事務(wù)一致性的場(chǎng)景。

      posted @ 2025-06-09 18:00  元始天尊123  閱讀(29)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 成人精品视频一区二区三区| 一本大道久久a久久综合| 18禁美女裸体爆乳无遮挡| 国产免费久久精品99reswag| 无遮高潮国产免费观看| 精品人妻伦一二三区久久| 亚洲日韩欧美丝袜另类自拍| 国产高清一区二区不卡| 午夜免费视频国产在线 | 国产av无码专区亚洲aⅴ| 日本中文一区二区三区亚洲| 熟女性饥渴一区二区三区| 九九久久人妻精品一区色| 亚洲av无码之国产精品网址蜜芽| 国产精品剧情亚洲二区| 亚洲国产日韩欧美一区二区三区| 波多野结衣久久一区二区| 国产日本一区二区三区久久| 韩国18禁啪啪无遮挡免费| 中文字幕日韩国产精品| 亚洲中文字幕久在线| 国产综合精品一区二区在线 | 在线观看无码av免费不卡网站| 国产一级片内射在线视频| 国产精品国产三级国产试看| 中文字幕亚洲中文字幕无码码| 国产亚洲精品一区二区无| 日韩精品有码中文字幕| 精品久久久久久无码免费| 欧美人与性囗牲恔配| 色爱综合另类图片av| 五月丁香六月综合缴情在线| 蜜桃av无码免费看永久| 亚洲男人天堂2021| 92国产精品午夜福利免费| 精品精品亚洲高清a毛片| 欧美裸体xxxx极品| 久章草这里只有精品| 欧美日本一区二区视频在线观看 | 久久精品国产99久久6| 四虎成人高清永久免费看|