• 您的信息
      • 日期时间
        2025年3月8日 星期六
        【蛇】己卯月丙子日
        乙巳年 二月初九
        妇女节
        您的信息
        您的IP:
        3.145.109.147
        操作系统:
        未知操作系统
        浏览器:
        未知浏览器
        分辨率:
        1280x720
        位置:
        缂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈囩磽瀹ュ拑韬€殿喖顭烽幃銏ゅ礂鐏忔牗瀚介梺璇查叄濞佳勭珶婵犲伣锝夘敊閸撗咃紲闂佺粯鍔﹂崜娆撳礉閵堝洨纾界€广儱鎷戦煬顒傗偓娈垮枛椤兘骞冮姀銈呯閻忓繑鐗楃€氫粙姊虹拠鏌ュ弰婵炰匠鍕彾濠电姴浼i敐澶樻晩闁告挆鍜冪床闂備胶绮崝锕傚礈濞嗘挸绀夐柕鍫濇缁♀偓闂侀€炲苯澧繛鐓庣箻閸╋繝宕掗妶鍡欑◥闂傚倷绀佸﹢閬嶅磿閵堝钃熼柨鐔哄Т绾惧鏌熼崜褏甯涢柡鍛叀楠炴牜鍒掗崗澶婁壕闁圭粯甯╁Λ婊呯磽閸屾艾鈧兘鎮為敂鑺ユ珷閹兼番鍔岄悿鐐節婵犲倹鍣虹€规洖寮剁换娑㈠箣閻戝洣绶甸梺鍝ュ枎閹冲繘濡甸崟顖氱睄闁搞儜鍐╁劒闂備胶鍎甸弲娑㈡煀閿濆钃熸繛鎴欏灩鍞梺鎸庢濡嫰宕径濞炬斀妞ゆ梻銆嬫Λ姘箾閸滃啰绉€规洜濞€瀵粙顢橀悙鎻掔ギ闂備胶绮ú鎴犳媼閺屻儱纾婚柟鎹愵嚙楠炪垺绻涢幋鐐垫噮闁告ɑ鎮傚娲川婵犱胶绻侀梺鍝ュУ瀹€鎼佸箚瀹€鍕闁规儳褰夌花濠氭⒑闂堟盯鐛滅紒杈ㄦ礋楠炲﹪宕堕埞鎯т壕婵炲牆鐏濆▍姗€鏌涢敐蹇曞埌闁伙絿鍏橀獮鎺楀箣閺傝法澧梻浣告啞缁矂宕导瀛樷拻妞ゆ牗绋撶弧鈧梺姹囧灲濞佳勭閳哄懏鐓欐繛鑼额唺缁ㄧ晫鈧灚婢橀敃顏堝箠閻愬搫唯鐟滃繗銇愰悙顒傜瘈闁汇垽娼у瓭濠电偛鐪伴崐妤佺珶閺囥垹閿ゆ俊銈勮兌閸樼敻姊虹憴鍕靛晱闁哥姵鐗犻妴鍌涚附閸涘﹦鍘介梺瑙勫劤瀹曨剟宕濆⿰鍛<缂備焦岣垮ú瀛橆殽閻愬樊鍎旈柟顔界懇瀹曞綊顢曢姀锛勫将缂傚倸鍊搁崐椋庢媼閺屻儱纾婚柟鐐墯閻斿棝鏌ら幖浣规锭濠殿喖鐗撻弻锝夊箻瀹曞洨顔掗梺鍝勬湰閻╊垱淇婇悜鑺ユ櫜闁告侗鍙庨悗鍐测攽閻樻剚鍟忛柛鐘崇墱缁棃鎮介幖鐐╁亾閸愵喖唯闁冲搫鍊搁埀顒傚厴閺屸剝寰勭€n亞浠搁柣鐘叉川閸嬫稖鐏冮梺缁橈耿濞佳勭閿曗偓閻f繈鏁愰崨顔间淮闂佺硶鏂侀崑鎾愁渻閵堝棗绗傞柤鍐茬埣閸╁﹪寮撮姀锛勫弳闂佸搫娲﹂〃鍡椻枍閸℃瑧纾奸柛灞剧☉缁椻晜銇勯敃渚囨綈闁逛究鍔嶇换婵嬪磼閵堝洤鎮戦柣搴ゎ潐濞叉ḿ鏁幒妤€鐓濋幖娣妼缁犳稒銇勯弬鎸庢儓濞寸姵甯掗埞鎴︽偐閸偅姣勯梺绋款儐閻╊垵妫熼梺鍝勵槹閿涙洖煤椤忓懎浜滄俊鐐差儏鐎涒晛鈻撴ィ鍐┾拺閻熸瑥瀚崝璺衡攽椤斿搫鈧繂顕i幓鎺嗘斀閻庯綆鍋嗛崢閬嶆煟韫囨洖浠ч柛瀣崌閹啴骞嬮悙顏冪盎闂佸搫鍊圭€笛囁夐姀鈩冨弿濠电姴鎳忛鐘绘煙閻熸澘顏┑鈩冩倐婵$兘鏁傞幆褏绋堥梻鍌氬€烽懗鍫曞箠閹捐鍚归柡宥庡幖缁狀垶鏌ㄩ悤鍌涘 Amazon EC2闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劌銈搁弻鐔兼儌閸濄儳袦闂佸搫鐭夌紞渚€銆佸鈧幃娆撳箹椤撶噥妫ч梻鍌欑窔濞佳兾涘▎鎴炴殰闁圭儤顨愮紞鏍ㄧ節闂堟侗鍎愰柡鍛叀閺屾稑鈽夐崡鐐差潻濡炪們鍎查懝楣冨煘閹寸偛绠犻梺绋匡攻椤ㄥ棝骞堥妸鈺傚€婚柦妯侯槺閿涙盯姊虹紒妯哄闁稿簺鍊濆畷鎴犫偓锝庡枟閻撶喐淇婇婵嗗惞婵犫偓娴犲鐓冪憸婊堝礂濞戞碍顐芥慨姗嗗墻閸ゆ洟鏌熺紒銏犳灈妞ゎ偄鎳橀弻宥夊煛娴e憡娈查梺缁樼箖濞茬喎顫忕紒妯诲闁芥ê锛嶉幘缁樼叆婵﹩鍘规禍婊堟煥閺冨浂鍤欓柡瀣ㄥ€楃槐鎺撴綇閵婏富妫冮悗娈垮枟閹歌櫕鎱ㄩ埀顒勬煃闁款垰浜鹃梺褰掝棑缁垳鎹㈠☉娆愮秶闁告挆鍛呮艾鈹戦悙鍙夊珔缂傚秳鐒︽穱濠勨偓娑欋缚缁♀偓闂佹悶鍎崝搴ㄥ储闁秵鈷戦悷娆忓閸斻倖銇勯弴銊ュ箻缂侇喖顭烽幃娆撴倻濡厧骞嶆俊鐐€栧濠氬磻閹剧粯鍊块柟绋跨昂娴滄粓鏌ㄩ弴妤€浜剧紓鍌氱Т閿曨亜顕f繝姘亜缁炬媽椴搁弲顒€鈹戦瑙掕绂嶉鍕妞ゆ牗顕遍弮鍫熷亹闂傚牊绋愬▽顏嗏偓鍏夊亾闁挎繂鐗婄涵鑸典繆閸欏濮嶆鐐村浮楠炲﹤鐣烽崶褎鐏侀梺璇″枙閸楁娊宕规ィ鍐ㄧ闁告侗鍙庡Λ婊堟⒒閸屾瑧顦﹀鐟帮躬閹繝宕奸妷銉э紱闂佺硶鍓濋悷褎绋夊鍛傛棃鏁愰崨顓熸闂佺粯鎸婚悷鈺呭箖濡ゅ懏鍋ㄩ柣褑顕х紞濠傜暦濠婂牆纭€闁诲繗顕х紞濠囧箖閳╁啯鍎熼柕蹇婃櫆閿涘棝姊绘担鍛婃儓闁活剙銈稿畷浼村箛椤戣偐绱伴棅顐㈡处缁嬫垹绮堥崼銏″枑闊洦绋戝Ч鏌ユ煟濡偐甯涢柍閿嬪灦缁绘盯鎳犳0婵嗘濡ょ姷鍋為〃鍡涘Φ閸曨垰惟闁靛鍨甸崥顐︽⒑鐠団€虫珯缂佺粯绻堥妴渚€寮撮姀鈩冩珖闂侀€炲苯澧撮柟顔界懄缁绘繈宕堕妸褍甯惧┑鐘垫暩閸婎垶鍩€椤掑嫬纾婚柟鐐灱閺€鑺ャ亜閺傚灝鎮戦柛鐘成戦幈銊︾節閸涱噮浠╃紓浣介哺鐢帟鐏掗柣鐘叉搐瀵泛鈻撻锔解拻濞达絽鎲¢幉绋库攽椤旂偓鏆柟顔ㄥ洦鍋愮€瑰壊鍠栧▓銊︾節閻㈤潧校缁炬澘绉瑰鏌ュ箹娴e湱鍘藉┑鈽嗗灠閻忔繈鎯冮悜妯镐簻闁挎柨鎼慨鍌涙叏婵犲啯銇濇俊顐㈠暙闇夐柕濞垮劤缁夎櫣鈧娲樺ú鐔笺€佸璺虹劦妞ゆ巻鍋撻柣锝囧厴楠炲鏁冮埀顒傜不婵犳碍鍋i柛銉簻缁憋妇绱掗崡鐐靛煟婵﹥妞藉Λ鍐ㄢ槈鏉堫煈鈧棝姊婚崒姘仼閻庢凹鍓熼崺銏ゅ箻閺夋埈鍤ら柣搴㈢⊕鑿ら柟閿嬫そ濮婃椽宕ㄦ繝鍐ㄩ瀺閻熸粍婢橀崯顖滅矉瀹ュ應鏀介柛銉㈡櫇椤旀洟姊洪崨濠勬噧妞ぱ€鍋撻梺鍏兼緲濞硷繝寮诲☉銏犵厸闁稿本绮嶉崚娑樜旈悩闈涗沪閻㈩垱甯熼悘鍐╃箾鏉堝墽鍒伴柟纰卞亰閻涱噣宕奸妷锔规嫼闁荤姴娲╃亸娆戠不閹惰姤鐓曢悗锝庡墮閳诲牊銇勯姀鈥蹭孩妞わ箑缍婇弻娑㈠煘閹傚濠碉紕鍋戦崐鏍暜婵犲洦鍊块柨鏂垮⒔閻棝鎮楅敐搴℃灍闁绘挻鐟﹂妵鍕籍閳ь剟寮告繝姘殌闁秆勵殕閻撴稑霉閿濆毥褰掑汲閿濆洠鍋撶憴鍕閻㈩垱甯¢崺銉﹀緞婵犲孩鍍靛銈嗗坊閸嬫挾绱掗悩鍗炲祮婵﹦绮幏鍛驳鐎n亝顔勭紓鍌欒兌缁垳鏁垾宕囨殾闁硅揪闄勯崑鎰箾閼碱剛甯涢柡鍜佷邯閹嘲饪伴崘顔煎及濡ょ姷鍋涢悧鎾翠繆閹间礁鐓涘ù锝囧皑缁辨煡姊绘担铏瑰笡闁告梹娲熼、姘额敇閵忕姴鍋嶉梻鍌氱墛娓氭銆掓繝姘厪闁割偅绻冮ˉ鐐烘煟閹惧崬鍔﹂柡宀€鍠撻崰濠囧础閻愭澘鏋堥梻浣虹《閺備線宕戦幘鎰佹富闁靛牆妫楃粭鍌炴煠閸愭彃顣崇紒顔碱煼楠炴ḿ绱掑Ο鐓庡箺闂備焦瀵х换鍌毭洪妶澶婂偍閻庢稒锕╁▓浠嬫煟閹邦厽缍戞繛鎼枟椤ㄣ儵鎮欏顔煎壎閻庢鍣崳锝夊春閳ь剚銇勯幒鎴濐伒缂傚秵鐗滈埀顒€绠嶉崕閬嶅箠婢舵劕缁╅柤鎭掑劘娴滄粓鏌¢崘銊モ偓濠氬箺閸屾稓绠鹃柛顐ゅ枑閳锋劕菐閸パ嶈含妞ゃ垺娲熼弫鎰板幢韫囨柨顏哄┑鐘殿暯閳ь剙鍟跨痪褔鏌涢弮鈧悷鈺侇嚕椤愶箑绠荤紓浣股戝▍銏ゆ⒑鐠恒劌娅愰柟鍑ゆ嫹
        您的天气
          正在获取信息 ...
随笔 - 3461, 文章 - 0, 评论 - 739, 阅读 - 1200万
  管理

数据库存储图像及使用Image控件显示

Posted on   lzhdim  阅读(834)  评论(0编辑  收藏  举报

在数据库中存取并显示到页面Image控件的功能。原来认为并不复杂,但是实际中却遇到了一些问题。

首先来看看保存图片:

图片在数据库中使用二进制方式存储,所以要把图片转化为二进制流文件在存储到数据库中,代码如下:

    private void Save()

    {

        MyImage img = new MyImage();

        img.Img = System.Drawing.Image.FromStream(this.FileUpload1.PostedFile.InputStream);

        System.IO.MemoryStream ms = new MemoryStream();

        img.Img.Save(ms, img.Img.RawFormat);

       

        SqlParameter[] paras = new SqlParameter[1];

        paras[0] = new SqlParameter("@img", SqlDbType.Image, 2147483647);

        paras[0].Value = ms.ToArray();

        sql.DBOption("Insert Into T_img (img) Values (@img)",paras);

}

再来看看读取文件:

    SqlDataAdapter adapter = new SqlDataAdapter("Select * From T_img Where imgID = " + Request.QueryString["imgID"].ToString(), sql.SqlConn);

    DataSet Ds = new DataSet();

    adapter.Fill(Ds);

    if (Ds.Tables[0].Rows.Count > 0)

    {

        img.ImgID = Convert.ToInt32(Ds.Tables[0].Rows[0]["imgID"]);

        Byte[] bytes = (Byte[])Ds.Tables[0].Rows[0]["img"];

        Response.BinaryWrite(bytes);

    }

最后要将其在Image控件中显示:

在网上看了很多资料都是使用Response.BinaryWrite(bytes),但是这只能重写页面,造成页面上只显示图片,但是在实际的项目中我们有可能是要显示在某一个特定的位置,或者说在System.Web.UI.WebControls.Image控件中显示。一开始我有一个误区,想将System.Drawing.Image对象放入WebControls.Image控件中,实际上是不能直接转换的。网上很多人提出了建立一个页面只显示图像,然后把这个页面的地址传给Image1.ImageUrl。这样做显然可以成功,但是有一点我不太满意,有一个多余的页面,此时可以使用HttpHandler来解决。

Web.config文件中加入一个HttpHandler

<system.web>

<httpHandlers>

<addverb="*"path="imgPage1.aspx"type="imgPageHandler"/>

</httpHandlers>

</system.web>

App_Code里加入一个imgPageHandler类型,并使他继承自IHttpHandler,并重写IsReusable属性和ProcessRequest方法,代码如下:

    public bool IsReusable

     {

         get { return false; }

     }

 

     public void ProcessRequest(HttpContext context)

     {

         MyImage img = new MyImage();

         try

         {

             sql.DBConnect();

             SqlDataAdapter adapter = new SqlDataAdapter("Select * From T_img Where imgID = " + context.Request.QueryString["imgID"].ToString(), sql.SqlConn);

             DataSet Ds = new DataSet();

             adapter.Fill(Ds);

             if (Ds.Tables[0].Rows.Count > 0)

             {

                 img.ImgID = Convert.ToInt32(Ds.Tables[0].Rows[0]["imgID"]);

                 Byte[] bytes = (Byte[])Ds.Tables[0].Rows[0]["img"];

                 context.Response.BinaryWrite(bytes);

             }

         }

         catch (Exception ex)

         {

             throw ex;

         }

         finally

         {

             sql.DBClose();

         }

     }

在要显示图像的页面中将虚拟出的页面地址给Image1.ImageUrl

       this.Image1.ImageUrl = "imgPage1.aspx?imgID=" + this.TextBox1.Text;

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2025年3月8日 星期六 【蛇】己卯月丙子日 乙巳年 二月初九 妇女节
您的IP:3.145.109.147,操作系统:未知操作系统,浏览器:未知浏览器
Copyright (C) 2000-2025 Lzhdim Software All Rights Reserved
点击右上角即可分享
微信分享提示