亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于.NET的圖像批量存儲技術(shù)研究

        2014-02-25 04:54:22呂延崗
        計(jì)算機(jī)光盤軟件與應(yīng)用 2013年23期
        關(guān)鍵詞:管理系統(tǒng)

        摘 要:針對開發(fā)管理信息系統(tǒng)過程中出現(xiàn)的圖像批量存儲問題,分析了圖像數(shù)據(jù)在數(shù)據(jù)庫中的存儲類型,論述了圖像批量存儲的工作流程并在.NET平臺上加以實(shí)現(xiàn),并給出了關(guān)鍵代碼。

        關(guān)鍵詞:圖像數(shù)據(jù);批量存儲;SQL Sever數(shù)據(jù)庫;管理系統(tǒng)

        中圖分類號:TP393.092

        在現(xiàn)代管理信息系統(tǒng)中,圖像數(shù)據(jù)作為數(shù)據(jù)庫的重要組成部分,其信息的存儲與顯示處理要求,成為開發(fā)過程中要解決的關(guān)鍵問題[1]。SQL Server數(shù)據(jù)庫支持對非格式化數(shù)據(jù)的存儲,它提供的Image數(shù)據(jù)類型是一種用來存儲二進(jìn)制數(shù)據(jù)的數(shù)據(jù)類型,可以存儲如圖像、圖形、視頻和聲音等非格式化數(shù)據(jù)[2]。

        本文結(jié)合開發(fā)的新生報(bào)到管理系統(tǒng),將新生圖片字段定義為Image類型,其圖片數(shù)據(jù)以二進(jìn)制方式存儲到SQL Server數(shù)據(jù)庫中。其優(yōu)點(diǎn)在于提高了圖像數(shù)據(jù)的查詢效率,保證了圖像數(shù)據(jù)的共享性和一致性,加強(qiáng)了圖像數(shù)據(jù)的安全性。

        1 圖像批量存儲工作流程

        系統(tǒng)圖像批量存儲工作包括:首先使用WinRAR程序?qū)⑺械男律鷪D像壓縮為圖像RAR文件包,其目的為保證圖像在上傳至服務(wù)器的過程中不會出現(xiàn)個(gè)別圖片數(shù)據(jù)丟失現(xiàn)象;其次使用FileUpload控件將壓縮好的圖像RAR包文件上傳到Web服務(wù)器并使用服務(wù)器上的RAR進(jìn)程解壓縮;再次遍歷解壓縮后的圖像文件夾,并將圖像文件轉(zhuǎn)化為二進(jìn)制數(shù)據(jù)流;最后按照考生號將圖像二進(jìn)制數(shù)據(jù)依次存儲到SQL Server數(shù)據(jù)庫,其工作流程如圖1所示。

        圖1 圖像存儲工作流程

        2 RAR包文件上傳和解壓縮處理

        系統(tǒng)開發(fā)使用FileUpload控件使用戶可以選擇客戶端上的文件并將它上傳到Web服務(wù)器,使用HasFile屬性來驗(yàn)證FileUpload控件確實(shí)包含文件,并使用SaveAs方法將文件保存到服務(wù)器[3]。關(guān)鍵代碼如下:

        if (FileUpload.HasFile){

        string fileID = DateTime.Now.ToString("yyyyMMddHHmmss");

        string fileName = Server.MapPath(String.Format("ZipFiles/{0}{1}",fileID, _ext));

        FileUpload.SaveAs(fileName);

        }

        在將圖像文件的RAR壓縮包上傳到Web服務(wù)器后,可以調(diào)用服務(wù)器上的RAR壓縮程序,啟用RAR進(jìn)程將服務(wù)器上的RAR包文件進(jìn)行解壓縮。關(guān)鍵代碼如下[4]:

        the_Reg= Registry.ClassesRoot.OpenSubKey(@"Applications\WinRar.exe\Shell\Open\

        Command");

        the_Obj = the_Reg.GetValue("");

        the_rar = the_Obj.ToString();

        //如果解壓縮的圖像文件夾不存在,則創(chuàng)建該文件夾

        if (!Directory.Exists(OPath))

        {

        Directory.CreateDirectory(OPath);

        }

        the_Info = " X " + " " + ZipFile + " " + OPath;

        the_StartInfo = new ProcessStartInfo();

        the_StartInfo.FileName = the_rar;

        the_Process = new Process();

        the_Process.StartInfo = the_StartInfo;

        the_Process.Start();

        3 遍歷圖像文件夾

        在解壓縮圖像RAR文件包后,首先得到該文件夾下的所有子文件夾并進(jìn)行遍歷,其目的是為了防止圖像RAR文件包中包含子文件夾;其次在遍歷子文件夾的過程中,由于圖像文件為非結(jié)構(gòu)化數(shù)據(jù),所以將子文件夾下的圖像文件讀取到FileStream對象中,最后使用BinaryReader類來操作圖像文件的二進(jìn)制數(shù)據(jù)。關(guān)鍵代碼如下

        DirectoryInfo theFolder = new DirectoryInfo(OPath);

        DirectoryInfo[] dirInfo = theFolder.GetDirectories();

        foreach (DirectoryInfo NextFolder in dirInfo){

        FileInfo[] fileInfo = NextFolder.GetFiles();

        foreach (FileInfo NextFile in fileInfo){

        string filename = NextFile.Name;

        FileStream fs = new FileStream(NextFile.FullName, FileMode.Open, FileAccess.Read);

        BinaryReader br = new BinaryReader(fs);

        byte[] imgBytesIn = br.ReadBytes((int)fs.Length);

        }

        }

        4 存儲到SQL Server數(shù)據(jù)庫

        為了保證圖片數(shù)據(jù)能夠正確的存儲到SQL Server數(shù)據(jù)庫中,使用SqlTransaction類在SQL Server數(shù)據(jù)庫中處理Transact-SQL事務(wù),按照考生號將圖像二進(jìn)制數(shù)據(jù)流在數(shù)據(jù)庫中進(jìn)行相應(yīng)保存操作,將字節(jié)數(shù)組中的圖像數(shù)據(jù)存儲在命令對象的SqlParameter中,通過參數(shù)傳遞的方式存儲到數(shù)據(jù)庫中[5]。關(guān)鍵代碼如下:

        SqlTransaction myTran = conn.BeginTransaction();

        cmd.Transaction = myTran;

        try{

        sql = "update student set 照片=@zp where 考生號='" + ksh + "'";

        SqlParameter pzp = new SqlParameter("zp", DbType.Binary);

        pzp.Value = imgBytesIn;

        cmd.CommandText = sql;

        cmd.ExecuteNonQuery();

        myTran.Commit();

        }

        catch{

        myTran.Rollback();

        }

        5 總結(jié)

        大規(guī)模圖像數(shù)據(jù)的批量存儲作為管理信息系統(tǒng)開發(fā)過程中的關(guān)鍵基礎(chǔ)工作,需要開發(fā)人員重點(diǎn)研究。本文在.NET平臺的基礎(chǔ)上,實(shí)現(xiàn)了圖像文件包的整體上傳和解壓縮,保證了圖像數(shù)據(jù)的完整性,將圖片數(shù)據(jù)以二進(jìn)制方式存儲到數(shù)據(jù)庫中,提高了圖像數(shù)據(jù)的管理和查詢效率,為管理信息系統(tǒng)的開發(fā)提供了一定的參考價(jià)值。

        參考文獻(xiàn):

        [1]歐陽艷階,王家旭.NET+SQL Server圖像存取的研究與實(shí)現(xiàn)[J].十堰職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012,25(6):103-105.

        [2]李用江.基于ADO.NET 的多媒體數(shù)據(jù)庫存取技術(shù)的研究[J].計(jì)算機(jī)應(yīng)用,2003,23(11):149-152.

        [3]劉翼,葉倩.基于ASP.NET的圖片上傳技術(shù)[J].現(xiàn)代電子技術(shù),2008,10:151-154.

        [4]天極網(wǎng).asp.net利用RAR實(shí)現(xiàn)文件壓縮解壓縮[EB/OL].http://dev.yesky.com/269/3394269_2.shtml,2013-10-1.

        [5]湯曉燕,王磊.ASP.NET中基于流技術(shù)的二進(jìn)制圖片上傳與顯示[J].蘇州市職業(yè)大學(xué)學(xué)報(bào),2010,21(3):63-66.

        作者簡介:呂延崗(1982-),男,河北靈壽人,講師,碩士,主要研究領(lǐng)域:軟件開發(fā)、圖像處理。

        作者單位:石家莊職業(yè)技術(shù)學(xué)院 教務(wù)處,石家莊 050081

        基金項(xiàng)目:本文為院長基金課題:學(xué)院新生報(bào)到管理系統(tǒng)設(shè)計(jì)與開發(fā)(13YJ1001)的相關(guān)研究成果。

        猜你喜歡
        管理系統(tǒng)
        基于LED聯(lián)動顯示的違停管理系統(tǒng)
        停車場尋車管理系統(tǒng)
        電子制作(2018年9期)2018-08-04 03:31:18
        船舶壓載水管理系統(tǒng)
        中國船檢(2017年3期)2017-05-18 11:33:09
        海盾壓載水管理系統(tǒng)
        中國船檢(2017年3期)2017-05-18 11:33:08
        一種基于Web新型校園門禁管理系統(tǒng)
        基于RFID的倉儲管理系統(tǒng)實(shí)現(xiàn)
        婷婷午夜天| 色播视频在线观看麻豆 | 国产高清亚洲精品视频| 精品福利一区二区三区| 大地资源在线影视播放| 日本精品人妻无码77777| аⅴ天堂一区视频在线观看| 情头一男一女高冷男女| 亚洲人成网站在线播放2019| 国产成人亚洲精品无码mp4| 女女同性黄网在线观看| 国产成人高清视频在线观看免费| 国产一区二区三区日韩精品| 国产卡一卡二卡三| 久久水蜜桃亚洲av无码精品麻豆| 蜜桃激情视频一区二区| 国产免费又色又爽粗视频| 国产精品久久久久久52avav| 国产成人精品三上悠亚久久| 99久久精品人妻一区| 久人人爽人人爽人人片av| 天天躁日日躁狠狠躁人妻| 国产欧美日本亚洲精品一5区| 美女露出奶头扒开内裤的视频 | 麻豆免费观看高清完整视频 | 久久天天躁狠狠躁夜夜2020一| 伊人影院综合在线| 西西少妇一区二区三区精品| 中文字幕一区二区三区的| 五级黄高潮片90分钟视频| 久久精品国产亚洲AV无码不| 男女视频在线观看一区二区 | 中文字幕Aⅴ人妻一区二区苍井空 亚洲中文字幕久久精品蜜桃 | 91麻豆精品国产91久久麻豆| 亚洲av无码一区二区三区乱子伦| 国产男女猛烈无遮挡免费视频| 亚洲免费看三级黄网站| 国产高清乱码又大又圆| 免费a级毛片出奶水| 亚洲熟妇av日韩熟妇av| 日韩一区二区av极品|