1. 程式人生 > >如何使用資料庫儲存檔案

如何使用資料庫儲存檔案

    最近在做專業設計,好多同學討論上傳的檔案應該以什麼形式儲存到資料庫中

    對於這個問題,有兩種解決方案

                一:將檔案copy到專案下一個包中(這裡設定的是在專業設計、SSH小專案中),資料庫儲存檔案的路徑

                二:資料庫直接儲存檔案,比如一些小的圖片,如幾十K的頭像圖片等,可以直接轉換成二進位制,存放到資料庫中

    第一種解決方案的實現,好多同行已經寫了很詳細的文章了,在這裡放一個連結:

                https://blog.csdn.net/uniquewonderq/article/details/47057641

    對於第二種解決方案的實現,在這裡記錄並且分享一下:

                其實很簡單,就是接受檔案,將檔案讀取,轉換成byte[],然後直接儲存到資料庫中,程式碼如下。

                假設封裝類User有一個photo屬性,用來存放頭像資訊。

                    讀取上傳的圖片並進行封裝:

                    InputStream in = new FileInputStream("c:/fugang.jpg");

                    byte[] photo = new byte[in.available()];

                    in.read(photo);                   

                    in.close();

                    User.setPhoto(photo);

                然後將其儲存到資料庫中就可以了,這裡資料庫的屬性(拿mysql為例)為binary,並且要指定長度,因為binary在   資料庫中有好幾種儲存長度,如果不指定,可能長度不夠使用

相關推薦

修改MYSQL5.7.17 資料庫儲存檔案的路徑

今天在搭建華為雲伺服器的時候遇到點問題,查看了網上好多的帖子都沒能解決,不知道有沒有跟我遇到一樣問題的老鐵,我就把我的解決辦法分享給大家,希望能夠幫助各位老鐵。。。 MYSQL5.7.17預設是安裝在C盤下的(C:\ProgramData\MySQL\MySQL Server 5.7)而且安裝時

如何使用資料庫儲存檔案

    最近在做專業設計,好多同學討論上傳的檔案應該以什麼形式儲存到資料庫中    對於這個問題,有兩種解決方案                一:將檔案copy到專案下一個包中(這裡設定的是在專業設計、SSH小專案中),資料庫儲存檔案的路徑                二

小程式問題記錄 | 使用官方提供的雲資料庫儲存md格式的檔案,前臺解析遇到的坑!!!!

官方提供了雲開發方案,真的是省心,又省錢。(非廣告☹️) 可坑死我了。。。 由於我要在前臺展示類似於blog格式的文章,markdown作為源資料。起初是在本地封裝module的方案,來提供md資料來

delphi 儲存檔案資料庫

procedure loadfromdb var   PicStream: TMemoryStream; begin   PicStream := TMemoryStream.Create;   TBlobField(FDQuery1.FieldByName('fu

Ocelot簡易教程(七)之配置檔案資料庫儲存外掛原始碼解析

作者:依樂祝 原文地址:https://www.cnblogs.com/yilezhu/p/9852711.html 上篇文章給大家分享瞭如何整合我寫的一個Ocelot擴充套件外掛把Ocelot的配置儲存到資料庫中。並沒有對實現原理進行相應的闡述。今天抽空把實現的原理給大家說道說道。明白原理後,大家就可以

PostgreSQL儲存檔案資料庫

1.建立表CREATE TABLE public.t_file (  id INTEGER PRIMARY KEY NOT NULL DEFAULT nextval('t_file_id_seq'::regclass),  file_name CHARACTER VARYIN

安卓資料持久化:檔案儲存、SharedPreferences儲存以及資料庫儲存

1,檔案儲存 手機自帶的記憶體,只能供當前應用程式訪問,其他應用程式訪問不了,程式解除安裝這些資料也會隨著消失 原理: 基本是先獲取一個檔案的輸出流,然後把資訊write進去,最後關閉流 a,通過上下文類context的openFileOutput()方法獲得一個FileOutputStream輸出流 b

檔案儲存之SQLite資料庫儲存

參考連結 http://blog.csdn.net/liuhe688/article/details/6715983 學習SQLite資料庫之前,先去學習資料庫中的增刪改查語句,以前用工具建立表,表字段,那麼請重新學習SQLite,它是和資料庫操作差不多,不過它輕量級的

使用資料庫(mysql)欄位儲存檔案

資料庫:mysql + mybatis 檔案:本專案儲存的是excel檔案,其他檔案應該也是適用的 最近由於專案原因,需將檔案儲存到資料庫中,最先開始設計新增一個型別為blob的欄位,結果儲存沒有問題,但下載的時候如果該excel檔案裡包含特殊公式,或者版本不相容時,會丟失

資料庫儲存引擎的資料檔案

檢視mysql的所有儲存引擎: mysql> show engines; 檢視某個表用了什麼引擎: mysql> show create table 表名; 建立一個表並指定儲存引擎: mysql> create

壓縮資料庫日誌檔案(儲存過程)

USE masterGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO--建立人:    高升--建立日期:2007/05/18--修改日期:2007/06/02--功能目的:收縮資料庫的日誌檔案--引數:    要執行收縮的資料庫名稱,如果引數為'',則收縮所有的

【Oracle】資料庫儲存JSON資料型別的大檔案

一、問題 因為需要在資料庫儲存pdf的解析檔案,需要用大的資料型別儲存資料內容,所以需要使用CLOB資料檔案型別; 二、方法 資料庫使用CLOB型別的資料,使用方法和其他的一樣,是Character Large Object 的縮寫;在使用Mybatis

python 爬取豆瓣電影排行榜TOP250 儲存資料庫檔案

 本篇文章爬取豆瓣電影排行榜,使用的模組:第三方模組requests,正則模組,資料庫MySQL等 import requests import re import pymysql class DouBan: def __init__(self):

SQL Server資料庫mdf檔案中了勒索病毒.sicck。副檔名變為sicck

SQL Server資料庫mdf檔案中了勒索病毒sicck。副檔名變為sicck SQL,資料庫,勒索病毒,mdf檔案中毒,sicck 副檔名如下: [[email protected]]***.mdf.sicck [[email protected]]***.ldf.sicck

docker6-執行docker內命令|匯出docker內的資料庫sql檔案

在執行的容器中執行命令docker exec docker exec [OPTIONS] CONTAINER COMMAND [ARG…] -d :分離模式: 在後臺執行 -i :即使沒有附加也保持STDIN 開啟 -t :分配一個偽終端 以互動模式執行shel

mysql資料庫ibdata1檔案瘦身

遇到InnoDB的共享表空間檔案ibdata1檔案大小暴增時,應該如何處理? 1、問題背景 用MySQL/InnoDB的童鞋可能也會有過煩惱,不知道為什麼原因,ibdata1檔案莫名其妙的增大,不知道該如何讓它縮回去,就跟30歲之後男人的肚腩一樣,汗啊,可喜可賀的是我的肚

自動記錄資料庫儲存過程的更新和改變,併產生日誌

一、        簡介 使用環境:SQL Server     在專案開發過程中,專案管理者通常都很希望對專案的開發進展有一個日誌的記錄。程式碼的記錄和管理可以通過TFS或者VSS等工

資料庫ndf檔案大小變為0KB如何解決

一、故障描述: 成都某客戶,儲存損壞,資料庫崩潰。重組儲存,恢復資料庫檔案,發現有四個ndf檔案大小變為0 KB。資料庫大小約80TB。資料庫中有1223個檔案,資料庫每10天生成一個NDF檔案,每個NDF大約500GB,資料庫包含兩個LDF檔案。 二、故障分析: 儲存損壞,NDF檔案大

Mysql資料庫儲存引擎

*.sql :mysql執行語句 一、如果Mysql是myisam引擎的,有全文索引 那麼一個表有如下三個檔案: *.frm:存放表結構的檔案 *.myd:存放表資料data的檔案 *.myi:存放表索引index的檔案 二、如果Mysql是Innodb引擎的,

SQL Server資料庫mdf檔案中了勒索病毒Goat4444。副檔名變為Goat4444

SQL,資料庫,勒索病毒,mdf檔案中毒,Rooster4444 *SQL Server資料庫mdf檔案中了勒索病毒.mdf.Rooster4444。副檔名變為Rooster4444 SQL Server資料庫mdf檔案中了勒索病毒Rooster4444。副檔名變為Rooster4444 常見的副檔名如