1. 程式人生 > >java web將圖片存到儲資料庫和從資料庫中讀取圖片(base64)

java web將圖片存到儲資料庫和從資料庫中讀取圖片(base64)

一、分析一下基本流程

    從前臺頁面獲取圖片,後臺接收圖片檔案轉化成資料,然後儲存到資料庫,然後反向輸出到jsp頁面


二、分析一下資料轉換和資料流通


  三、將圖片儲存到資料庫中

     1、jsp頁面將圖片傳到後臺的過程

        jsp頁面將圖片通過form表單提交,後臺通過MultipartFile型別接收圖片檔案

    

【注】form表單的預設的提交方式 method="get" 和 編碼為enctype="application/x-www-form-urlencoded"

    但我們要提交檔案則需要將其改為method="post"和 enctype="multipart/form-data"


這裡使用<input type="file">上傳檔案到jsp頁面,也便於傳值到後臺


使用MultipartFile file接收引數檔案

2.在後臺將資料轉換,儲存到資料庫的過程


po類User


mapper.xml


資料庫image型別應該使用blob型別,但根據檔案大小可設定

TinyBlob 最大 255
Blob 最大 65K
MediumBlob 最大 16M
LongBlob 最大 4G

3.儲存成功後資料庫應該顯示類似如下編碼字串

四、將圖片從資料庫中取出並顯示在jsp頁面上

1.從資料庫獲取圖片


【注】mybatis配置看上

2.在jsp頁面中顯示


直接在src裡填入超連結,並將圖片id傳過去查詢該圖片

相關推薦

java web圖片資料庫資料庫讀取圖片(base64)

一、分析一下基本流程    從前臺頁面獲取圖片,後臺接收圖片檔案轉化成資料,然後儲存到資料庫,然後反向輸出到jsp頁面二、分析一下資料轉換和資料流通  三、將圖片儲存到資料庫中     1、jsp頁面將圖片傳到後臺的過程        jsp頁面將圖片通過form表單提交,後

檔案上傳到資料庫 資料庫下載檔案到本地

有時候我們需要把圖片、文件、dll檔案、等等,上傳的資料庫,然後當需要的時候再從資料庫中讀取到本地,下面我以上傳圖片為例,講解一下如何把本地的一張圖片上傳到資料庫,然後再從資料庫下載到本地。   工具:VS2010,Sql Server 2000。語言:C#。   像

springboot配置addResourceHandleraddResourceLocations,使得可以磁碟讀取圖片、視訊、音訊等

磁碟目錄 WebMvcConfig的程式碼 //對靜態資源的配置 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { String os = System.ge

檔案讀取圖片,與資料庫讀取圖片評測

一、在 d:\ 下建立 image 資料夾,再放10 張圖片, 名稱從 1.png 到 10.png . 二、先建立新庫 db1, 然後按下面指令碼建立初始環境: USE db1 GO IF OBJECT_ID('t_path') IS NOT NULL DROP TABLE t_pat

cocos2dx載入圖片資源的方法,記憶體獲取已經載入的圖片資源的方法 以及釋放問題

遊戲中通常需要將常用的資源如:聲音,圖片,plist檔案,提前載入進記憶體,以加快遊戲的流暢度 1.預載入聲音: SimpleAudioEngine::getInstance()->preloadBackgroundMusic("boom.mp3"); 載入之後就可以

呼叫攝像頭相簿(呼叫攝像頭拍照相簿選擇圖片

public class MainActivity extends Activity { public static final int TAKE_PHOTO=1; public static final int CROP_PHOTO=0; public static

快取讀取圖片

上傳頭像圖片時,使用相同的檔名儲存圖片以求覆蓋舊的圖片,當讀取時,由於使用相同的url,瀏覽器就會從快取中讀取圖片,不能實時更新圖片。。。 通過meta指定不儲存cache: <meta http-equiv="pragma" content="no-cache"&

php圖片在阿裏雲oss

存儲文件 ram 上傳 span exce style upload file end 一個配置文件 創建兩個方法 1.上傳方法 /** * 存儲文件 * * @param $srcFile * @param $desFile * @throws Excepti

過程視圖的區別

硬盤 容易 生成 reply 想象 簡單 text 什麽 單個 SQL裏面不帶參數的存儲過程與視圖的區別1、存儲過程是程序化的sql可以實現一般sql不能實現的功能。 如:先檢索一個表得到一些數據,經過一定的編輯後更新到另外一個表中、這就可以用不帶參數的存儲過程實現。 2

mysql基礎(三)引擎

mysql存儲引擎的概念: 關系型數據庫表是用於存儲和組織信息的數據結構,可以將表理解為由行和列組成的表格,各種各樣,不同的表結構意味著存儲不同類型的數據,在數據的處理上也會存在著差異,對於mysql來說,它提供了多種類型的存儲引擎,可以根據對數據處理的需求,選擇不同的存儲引擎,從而最大

Mysql過程函數區別介紹

fill get .com href 參數 tle gravity 由於 target 原文鏈接 存儲過程是用戶定義的一系列sql語句的集合,涉及特定表或其它對象的任務,用戶可以調用存儲過程,而函數通常是數據庫已定義的方法,它接收參數並返回某種類型的值並且不涉及特定用戶表。

MySQL過程函數

-c com eat sql strong 沒有 round 函數 load data P176)存儲過程和函數的區別在於函數必須有返回值,而存儲過程沒有,存儲過程的參數可以使用IN、OUT、INOUT類型,而函數的參數只能指IN類型。如果有函數從其他類型的數據庫遷移到My

04-MySQL的引擎列的常用類型

回滾 src max-width font 磁盤空間 應用 不同的 性能 整體 1. MySQL中的數據庫分類 2. MySQL中的存儲引擎   MySQL中的數據用各種不同的技術存儲在文件(或者內存)中。這些技術中的每一種技術都使用不同的存儲機制、索引技巧、

剖析Elasticsearch集群系列第一篇 Elasticsearch的模型讀寫操作

推薦 arch 變更 git 排序。 _id 包含 doc 現在 剖析Elasticsearch集群系列涵蓋了當今最流行的分布式搜索引擎Elasticsearch的底層架構和原型實例。 本文是這個系列的第一篇,在本文中,我們將討論的Elasticsearch的底層存儲模型及

基於hbase+hdfs的小文件(圖片)

current 創建表 2.7 con all getc close 讀取 println 圖片文件一般在100k一下,質量好一些的在幾百k,特殊的圖像可能達到10m左右,如果直接存儲在hdfs上會對namenode的內存造成很大的壓力,因為namenode的內存中會存儲每

oracle過程函數&觸發器

員工 觸發器的類型 table 序列 ger set 備份 oracl return oracle存儲過程和存儲函數 指存儲在數據庫中供所有用戶程序調用的子程序叫存儲過程,存儲函數 存儲過程和存儲函數的相同點:完成特定功能的程序 存儲過程和存儲函數的區別:是否用return

虛擬高速緩總結

一定的 sso 對象 內容 概述 fill 嘗試 虛擬地址 mta http://blog.csdn.net/chen98765432101/article/details/54881652 概述 為了更加有效的管理存儲器並且少出錯,現代操作系統提供了一種對主存的抽象,叫

【SQL server基礎】SQL過程函數的區別

lan 嵌入 執行計劃 臨時 roc 沒有 存在 exe execution 本質上沒區別。只是函數有如:只能返回一個變量的限制。而存儲過程可以返回多個。而函數是可以嵌入在sql中使用的,可以在select中調用,而存儲過程不行。執行的本質都一樣。 函數限制比較多

java 實現鏈棧

out 鏈棧 ext pan args top ram else 代碼 package com.learn.algorithm.linkStack; /** * 鏈棧實現 * @author Jiekun.Cui * @param <T> */ pub

[Java][web]利用Spring隨時隨地獲得RequestSession

login html article -a private 綁定 ren alt 結束 利用Spring隨時隨地獲得Request和Session 一、準備工作: 在web.xml中加入 <listener> <