成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET數據庫圖片上傳與讀取的實現

開發 后端
本文介紹了ASP.NET數據庫圖片上傳與讀取功能的實現方法。

以下代碼實現ASP.NET數據庫圖片上傳與讀取的功能,詳細見代碼內部的注解。

開發環境:Window 2000、SQLServer2000、.Net Framework SDK正式版

開發語言:C#、ASP.Net

簡介:ASP.NET數據庫圖片上傳與讀取

作者:engine

說明:在ASP中,我們用Request.TotalBytes、Request.BinaryRead()來上傳圖片,這個可惡的BinaryRead()方法非常笨,單個文件上傳倒沒什么大事,單如果多個圖片上專可就花大氣力了…!而現在ASP.Net中將會把解決以前ASP中文件上傳的種種問題,使你在ASP.Net中輕輕松松開發出功能強大的上傳程序,下面大家看看例子啦。

注意:由于作者水平有限,錯誤是難免的,如發現錯誤請指教

首先在SQL Server中建立一個圖片存儲的數庫表,ImageData Column為圖象二進制數據儲存字段,ImageContentType Column為圖象文件類型記錄字段,ImageDescription Column為儲蓄圖象文件說明字段,ImageSize Column為儲存圖象文件長度字段,結構如下:

  1. CREATE TABLE [dbo].[ImageStore] (  
  2.     [ImageID] [int] IDENTITY (1, 1) NOT NULL ,  
  3.     [ImageData] [image] NULL ,                               
  4.     [ImageContentType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,  
  5.     [ImageDescription] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,  
  6.     [ImageSize] [intNULL   
  7. ON [PRIMARY] TEXTIMAGE_ON [PRIMARY

UpLoadImage.aspx程序內容如下:

  1. < %@ Page Inherits="UploadImage.UploadImage" SRC="UpLoadImage.cs" Language="C#"%> 
  2. < HTML>< title>上傳圖片< /title> 
  3. < BODY bgcolor="#FFFFFF"> 
  4. < FORM ENCTYPE="multipart/form-data" RUNAT="server" ID="Form1"> 
  5. < TABLE RUNAT="server" WIDTH="700" ALIGN="left" ID="Table1" cellpadding="0" cellspacing="0" border="0"> 
  6. < TR> 
  7.      < TD>上傳圖片(選擇你要上傳的圖片)< /TD> 
  8. < TD> 
  9. < INPUT TYPE="file" ID="UP_FILE" RUNAT="server" STYLE="Width:320" ACCEPT="text/*" NAME="UP_FILE"> 
  10. < /TD> 
  11. < /TR> 
  12. < TR> 
  13.      < TD>   
  14.       文件說明(添加上傳圖片說明,如:作者、出處)  
  15.      < /TD> 
  16. < TD> 
  17. < asp:TextBox RUNAT="server" WIDTH="239" ID="txtDescription" MAINTAINSTATE="false" /> 
  18. < /TD> 
  19. < /TR> 
  20. < TR> 
  21. < TD> 
  22. < asp:Label RUNAT="server" ID="txtMessage" FORECOLOR="red" MAINTAINSTATE="false" /> 
  23. < /TD> 
  24. < TD> 
  25. < asp:Button RUNAT="server" WIDTH="239" ONCLICK="Button_Submit" TEXT="Upload Image" /> 
  26. < /TD> 
  27. < /TR> 
  28. < /TABLE> 
  29. < /FORM> 
  30. < /BODY> 
  31. < /HTML> 

-------------------------------------------------------------------

UpLoadImage.cs程序內容如下:

  1. using System;  
  2. using System.Web;  
  3. using System.IO;  
  4. using System.Data;  
  5. using System.Data.SqlClient;  
  6. using System.Web.UI;  
  7. using System.Web.UI.WebControls;  
  8. using System.Web.UI.HtmlControls;   
  9. namespace UploadImage  
  10. {   
  11. public class UploadImage : Page {   
  12. protected HtmlInputFile UP_FILE;          //HtmlControl、WebControls控件對象  
  13. protected TextBox txtDescription;  
  14. protected Label txtMessage;  
  15. protected Int32 FileLength = 0;          //記錄文件長度變量   
  16. protected void Button_Submit(System.Object sender, System.EventArgs e) {  
  17. HttpPostedFile UpFile = UP_FILE.PostedFile;  //HttpPostedFile對象,用于讀取圖象文件屬性  
  18. FileLength = UpFile.ContentLength;     //記錄文件長度   
  19. try {  
  20. if (FileLength == 0) {   //文件長度為零時  
  21. txtMessage.Text = "< b>請你選擇你要上傳的文件< /b>";   
  22. else {  
  23. Byte[] FileByteArray = new Byte[FileLength];   //圖象文件臨時儲存Byte數組  
  24. Stream StreamObject = UpFile.InputStream;      //建立數據流對像。讀取圖象文件數據,FileByteArray為數據儲存體,0為數據指針位置、FileLnegth為數據長度  
  25. StreamObject.Read(FileByteArray,0,FileLength);     
  26. //建立SQL Server鏈接  
  27. SqlConnection Con = new SqlConnection("Data Source=Localhost;Initial Catalog=testdb;User ID=sa;Pwd=;");  
  28. String SqlCmd = "INSERT INTO ImageStore (ImageData, ImageContentType, ImageDescription, ImageSize) VALUES (@Image, @ContentType, @ImageDescription, @ImageSize)";  
  29. SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);  
  30. CmdObj.Parameters.Add("@Image",SqlDbType.Binary, FileLength).Value = FileByteArray;  
  31. CmdObj.Parameters.Add("@ContentType", SqlDbType.VarChar,50).Value = UpFile.ContentType;  //記錄文件類型  
  32. //把其它單表數據記錄上傳  
  33. CmdObj.Parameters.Add("@ImageDescription", SqlDbType.VarChar,200).Value = txtDescription.Text;  
  34. //記錄文件長度,讀取時使用  
  35. CmdObj.Parameters.Add("@ImageSize", SqlDbType.BigInt,8).Value = UpFile.ContentLength;  
  36. Con.Open();  
  37. CmdObj.ExecuteNonQuery();   
  38. Con.Close();  
  39. txtMessage.Text = "< p>< b>OK!你已經成功上傳你的圖片< /b>";//提示上傳成功  
  40. }  
  41. catch (Exception ex) {  
  42. txtMessage.Text = ex.Message.ToString();  
  43. }}}} 

--

好了,ASP.NET數據庫圖片上傳已經完成,現在還要干什么呢?當然是在數據庫中讀取及顯示在Web頁中啦,請看以下程序:

ReadImage.aspx程序內容如下:

/----------------------------------------------------------------------- 

  1. < %@ Page Inherits="ReadImage.MainDisplay" SRC="ReadImage.cs"%> 

--

ReadImage.cs程序內容如下:

  1. using System;  
  2. using System.Data;  
  3. using System.Data.SqlClient;  
  4. using System.Web.UI;  
  5. using System.Web.UI.WebControls;  
  6. using System.Web.UI.HtmlControls;  
  7. namespace ReadImage {  
  8. public class MainDisplay : System.Web.UI.Page {  
  9. public void Page_Load(System.Object sender, System.EventArgs e) {  
  10.     int ImgID = Convert.ToInt32(Request.QueryString["ImgID"]);  //ImgID為圖片ID   
  11.     //建立數據庫鏈接  
  12.     SqlConnection Con = new SqlConnection("Data Source=KING;Initial Catalog=testdb;User ID=sa;Pwd=;");  
  13.     String SqlCmd = "SELECT * FROM ImageStore WHERE ImageID = @ImageID";  
  14.     SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);  
  15.     CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).Value = ImgID;  
  16.     Con.Open();  
  17.     SqlDataReader SqlReader = CmdObj.ExecuteReader();  
  18.     SqlReader.Read();       
  19.     Response.ContentType = (string)SqlReader["ImageContentType"];//設定輸出文件類型  
  20.     //輸出圖象文件二進制數制  
  21.     Response.OutputStream.Write((byte[])SqlReader["ImageData"], 0, (int)SqlReader["ImageSize"]);       
  22.     Response.End();  
  23.     Con.Close();  
  24.     //很簡單吧^_^  
  25.  }  
  26. }  

***,我們當然要把它在Web頁面顯示出來啦

ShowImage.hml

  1. < html> 
  2. < body> 
  3. 這個是從數據庫讀取出來的圖象:< img src="ReadImage.aspx?ImgID=1"> 
  4. < body> 
  5. < /html> 

------------------------------------------------------------------

***,這程序當然還很多改進之處,希望大家多想想多編編一定可以寫出更多的圖像上傳程序

這樣就實現了ASP.NET數據庫圖片存儲與讀取的功能。

【編輯推薦】

  1. ASP.NET頁面的CheckBoxList組件
  2. 簡單介紹ASP應用程序
  3. ASP.NET的IScriptControl
  4. 詳解ASP.NET身份驗證服務
  5. 概述ASP.NET安全
責任編輯:yangsai 來源: 網絡
相關推薦

2009-07-21 13:40:24

ASP.NET上傳圖片顯示圖片

2009-08-12 11:04:38

ASP.NET和SQL

2009-07-28 14:16:31

ASP.NET與MyS

2009-07-31 16:51:59

ASP.NET數據庫驅

2009-07-28 17:36:21

ASP.NET數據庫連

2009-02-23 15:20:03

SQL Server數據庫ASP.NET

2009-07-31 09:57:47

ASP.NET數據庫緩

2009-07-29 10:02:49

ASP.NET上傳

2009-12-03 10:52:42

2009-08-05 15:40:49

ASP.NET連接數據

2009-08-11 12:52:05

ASP.NET數據庫程

2009-07-23 10:37:43

2009-07-29 09:12:31

ASP.NET數據庫連

2024-05-20 13:06:18

2009-07-31 16:09:23

ASP.NET數據庫圖

2011-08-01 23:34:34

ASP.NETOracle

2009-07-27 17:58:10

ASP.NET數據庫編

2010-05-25 08:49:33

連接MySQL

2009-09-13 22:35:12

ASP.NET數據庫

2009-08-04 10:02:36

中國站長站
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久er99热精品一区二区 | 日韩一区二区三区在线播放 | 成人三级在线播放 | 成年视频在线观看 | 欧美日韩1区2区 | 久久久123| 国产精品99久久久久 | 宅女噜噜66国产精品观看免费 | 亚洲一区二区三区在线 | 激情福利视频 | 免费麻豆视频 | 一区二区三区视频在线 | 亚洲第一区国产精品 | 成人免费淫片aa视频免费 | 91亚洲国产成人久久精品网站 | 国产一区二区在线免费播放 | 日韩三级视频 | 成人综合在线视频 | 成人在线免费网站 | 亚洲美女网站 | 成人午夜精品 | 国产精品自产拍 | 欧美日韩在线视频一区二区 | 欧美www在线| 午夜视频免费在线观看 | 亚洲一区二区三区在线播放 | 一区二区三区在线 | 亚洲国产精品久久久 | 99精品亚洲国产精品久久不卡 | 亚洲第1页 | 乱码av午夜噜噜噜噜动漫 | 亚洲一区二区视频在线播放 | 欧美成人猛片aaaaaaa | 天天射夜夜操 | 91精品久久久久久久 | 91在线免费观看 | 殴美黄色录像 | 国产一区二区三区视频在线观看 | 天天射夜夜操 | 欧美日韩国产一区二区三区不卡 | 国产成人jvid在线播放 |