1. 程式人生 > >將指定圖片轉成二進位制陣列,以及將二進位制陣列儲存到資料庫中的方法

將指定圖片轉成二進位制陣列,以及將二進位制陣列儲存到資料庫中的方法

      在winform中點選選擇顯示圖片功能,我這邊是用的pictureBox控制元件,現在pictureBox控制元件中的雙擊事件中用以下方法,這邊是使用OpenFileDialog類開啟選擇得到圖片的路徑並且顯示

        string str = "";
        private void pictureBox1_DoubleClick(object sender, EventArgs e)
        {
            OpenFileDialog openfile = new OpenFileDialog();
            if (openfile.ShowDialog() == DialogResult.OK && (openfile.FileName != ""))
            {
                str = openfile.FileName;
                pictureBox1.Image = reph(Getbyte(str));
            }
        }


這時候的str儲存的是所選圖片的路徑,這裡的reph(Getbyte(str))用到了兩個辦法,一個是將圖片轉換成二進位制陣列,一個是將二進位制陣列轉換成image型別,方法如下

        /// <summary>
        /// 將指定圖片轉換成二進位制陣列
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public byte[] Getbyte(string value)
        {
            FileStream fs = new FileStream(value, FileMode.Open);
            byte[] bydata = new byte[fs.Length];
            fs.Read(bydata, 0, bydata.Length);
            fs.Close();
            return bydata;
        }
        /// <summary>
        /// 將二進位制陣列轉換成image型別
        /// </summary>
        /// <param name="streambyte"></param>
        /// <returns></returns>
        public Image reph(byte[] streambyte)
        {
            MemoryStream ms = new MemoryStream(streambyte);
            Image img = Image.FromStream(ms);
            return img;
        }


目前就可以將圖片轉換成二進位制陣列,也可以轉換成image型別,之前有朋友建議轉換成string 型別,我試了一下,強烈建議不要轉成string型別,轉換之後的字串很長很長,很佔空間。

         將二進位制陣列儲存到資料庫中也挺麻煩的,特別是像我這種菜鳥,儲存的辦法如下

 FileStream fs = new FileStream(str, FileMode.Open, FileAccess.Read);
            BinaryReader br = new BinaryReader(fs);
            byte[] imabytesin = br.ReadBytes((int)fs.Length);
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DB"].ConnectionString))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandText = "insert into ShuYang_Get (Get_image,Get_Name) values (@Get_image,'" + "20" + "')";
                SqlParameter par = new SqlParameter("@Get_image", SqlDbType.Image);
                par.Value = imabytesin;
                cmd.Parameters.Add(par);
                int t = (int)(cmd.ExecuteNonQuery());
                if (t > 0)
                {
                    MessageBox.Show("OK");
                }
                else
                {
                    MessageBox.Show("NO");
                }
                conn.Close();
            }


這樣就可以,這個叫啥方法的我也給忘記了,我只記得這個方法好像可以避免注入式漏洞攻擊的,取出的方法就是平常的方法,只要轉成二進位制陣列的格式就可以直接使用了!

相關推薦

指定圖片二進位制陣列以及二進位制陣列儲存資料庫方法

      在winform中點選選擇顯示圖片功能,我這邊是用的pictureBox控制元件,現在pictureBox控制元件中的雙擊事件中用以下方法,這邊是使用OpenFileDialog類開啟選擇

自定義EL表達式對象json格式關鍵代碼

地址 .com rar json common onf jsp頁面 conf 標簽 做javaweb開發的最常用的一個東西el表達式,這個東西是個很好用的東西,但有些時候我們處理復雜的字符串操作,就有些相形見絀了,這個時候就需要用自定義的方法去實現更多簡潔方便的事情。下面自

json字串json物件以及json物件json字串

json字串是一種能轉成json物件的字串(我自己理解的), 如  var MRWStr = '{name:WangHongxu,sex:man}', 把 MRW轉成json物件只需要 var MRWObj = JSON.parse(MRWStr); 就能得到 {n

圖片二進位制並生成Base64編碼可以在網頁通過url檢視圖片

    data格式的Url最直接的好處是,這些Url原本會引起一個新的網路訪問,因為那裡是一個網頁的地址,現在不會有新的網路訪問了,因為現在這裡是網頁的內容。這樣做,會減少伺服器的負載,當然同時也增加了當前網頁的大小。所以對“小”資料特別有好處。   另外聽說這種

PDF格式檔案二進位制並生成Base64編碼Base64編碼PDF檔案

// 為工程新增 sun.misc.BASE64Encoder和sun.misc.BASE64Decoder包: //右鍵專案》屬性》Java Build Path》jre System Library 》access rules》resolution選擇accessi

[大型網站優化技術] -- 減少HTTP請求之圖片二進位制並生成Base64編碼,可以在網頁通過url檢視圖片

1 <?php 2 $pathinfo = pathinfo($_SERVER['SCRIPT_FILENAME']); 3 define('ROOT', $pathinfo['dirname']); 4 5 function generateIcon_

Docx4jhtmlword時br標簽為軟回車的問題修改

peek aras -i lin 位置 org pac 回車 tco docx4j版本:3.0.1 修改jar包:docx4j-ImportXHTML maven配置為: 具體代碼位置:\org\docx4j\convert\in\xhtml\XHTMLImporterIm

php 圖片base64

function gif php pos 內置 獲取 str 路徑 files PHP對Base64的支持非常好,有內置的base64_encode與base64_decode負責圖片的Base64編碼與解碼。 編碼上,只要將圖片流讀取到,而後使用base6

cifar10資料圖片

#將cifar10轉成圖片 import numpy as np import matplotlib.image as plimg from PIL import Image import pickle as p def load_CIFAR_batch(filename):

mnist資料圖片

from tensorflow.examples.tutorials.mnist import input_data import scipy.misc import os # 注意儲存的路徑 mnist = input_data.read_data_sets("MNIST_DATA", o

怎樣PNG格式的圖片PDF格式

都知道我們經常在網上看到的圖片雖然有的看起來是一樣,但是右擊檢視圖片的屬性都是不一樣的。在這裡小編問大家一個問題,你們知道如何將一般圖片的格式轉換=成PDF格式嗎?就拿PNG轉PDF格式來說,可能大部分人都不知道如何進行解決的。那下面不妨看看小編是如何操作的!1:在電腦桌面新建一個資料夾取名為PNG圖片,然後

php兩張圖片合併一張加上文字

<?php /* * 圖片加微信二維碼,並加文字 */ header('Content-Type: image/png');//輸出協議頭 $dst_path = '4.png';//背景圖 $src_path = 'http://qr.liantu.com/api.php?m=0&

迅捷ocr文字識別軟體是如何圖片文字的?

  大家好,今天和大家討論一下關於圖片轉為文字的方法?   將圖片轉為文字一般被稱為光學文字識別(Optical CharacterRecognition,OCR),所謂?OCR?是影象識別領域中的一個子領域,該領域專注於對圖片中的文字資訊進行識別並轉換成能被常規文字編輯器編輯的文字。     隨

多張圖片打包zip包一起上傳

1、前端頁面 <div class="mod-body" id="showRW" style="text-align: center;font-size: 14px;letter-spacing: 1px;line-height: 24px;padding-bottom: 10px;height

java 編碼填充 word 模板生成 word合同word合同pdf 文件

                        &nbs

當 map 的 value 只是整數沒有別的型別時 map string map

    /**      * 當  map 的 value 只是整數,沒有別的型別時,將 map string 轉成 map      */     public static Map<String, Object> mapStrToMap( String map

canvas圖片base64格式 以及 驗證圖片是否透明

alpha spa bsp draw targe canvas 地址 hab mage logoImgUpload:function(file) { let self = this; self.formatUpload(file);

圖片寫入二進位制檔案再從二進位制檔案還原圖片(c++)

1 #include "string" 2 #include "iostream" 3 #include "fstream" 4 using namespace std; 5 #define MAX 20480 6 void main() 7 { 8 string sPicPat

利用matlab視訊分幀圖片圖片視訊

前幾日因為寫論文有需要,我必須從視訊裡面提取圖片。n年前,小編當時還是一名小菜之時(雖然現在也還是菜鳥一個),那時總是要到處找一些軟體來實現分幀,但是現在視訊太大了,軟體不能夠一下全部將視訊圖片轉換,而且轉換完所需記憶體太大。加上小編這人總是喜歡玩得high點,

java如何office檔案pdf或者圖片(親測有效)

前段時間做專案時,需要將word文件在瀏覽器中開啟,一般的在瀏覽器中開啟word都是直接提示下載的,找了好久都是些pageoffice等的收費外掛,小專案成本要儘量壓縮,所以就放棄了這種收費的外掛了。突然想到有些瀏覽器能直接開啟pdf或者圖片,手機端也需要顯示圖片,所以可以