日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
ASP.NET上傳文件面面觀

一、ASP.NET上傳文件數(shù)據(jù)庫。

存儲文件的數(shù)據(jù)庫中的字段為jimage,類型為image。

在代碼中定義類型為byte[]的一個變量buf,在上傳組件的PostFile中,從它的InputStream讀出字節(jié)數(shù)組,將buf賦給數(shù)據(jù)字段jimage就可以了。

 
 
 
  1. int len = this.File1.PostedFile.ContentLength; 
  2. byte[] buf = new byte[len]; 
  3. Stream i = this.File1.PostedFile.InputStream; 
  4. i.Read(buf,0,buf.Length); 
  5. news.jimage=buf; 
  6. //news為新聞類,jimage為它的圖片屬性,即對應表中的image 
  7. i.Close(); 

顯示圖像:

圖片的顯示也很簡單,在Persister中注意一下:

 
 
 
  1. SqlDataReader reader=SqlHelper.ExecuteReader
  2. ("select jimage from news");
  3.  
  4. if( reader.Read() )
  5. {
  6.  news.jimage=(byte[])reader["jimage"];
  7. }
  8. reader.Close();

得到byte[]的內(nèi)容,要顯示也比較簡單,在Page_Load()方法中加兩句話即可:

 
 
 
  1. Response.ContentType="image/jpeg";
  2. Response.BinaryWrite(ti.content);

這樣就可以輸出圖像了,如果想對圖像做一點調(diào)整,如旋轉(zhuǎn),轉(zhuǎn)換格式、獲得圖片格式(是jpg 還是 gif),請參考下面代碼:

 
 
 
  1. //同樣,聲明輸出不是HTML而是image
  2. Response.ContentType="image/jpeg";
  3. //從byte[]得到一個image對象
  4. System.Drawing.Image bmap = Bitmap.FromStream
  5. (new MemoryStream(ti.content));
  6. //操作一下這個圖像
  7. bmap.RotateFlip(RotateFlipType.Rotate180FlipY);
  8. //輸出到頁面上
  9. bmap.Save(Response.OutputStream,System.
  10. Drawing.Imaging.ImageFormat.Jpeg);
  11. //釋放image
  12. bmap.Dispose();

要顯示圖片在某一個image控件上,可采用下法:

要顯示圖片的位置放一個image控件然后將它的src指向這個頁面就行了!

例如:

頁面:ViewImage.aspx

 
 
 
  1. 〈%@Import Namespace="System.IO"%  〉
  2. 〈%@Import Namespace="System.Data"%  〉
  3. 〈%@Import Namespace="System.Data.SqlClient"%  〉
  4. 〈%@ Page Language="C#" Debug="True" %  〉
  5. 〈script runat="server"  〉
  6. private void Page_Load(Object sender, System.EventArgs e)
  7. {
  8. string imgid =Request.QueryString["UserID"];
  9. string connstr="data source=(local);initial 
  10. catalog=Test;integrated security=SSPI;persist 
  11. security info=True;packet size=4096";
  12. string sql="SELECT IMGTITLE,imgdata, 
  13. imgtype FROM ImageStore WHERE id = '"+ imgid  "'";
  14. SqlConnection connection = new SqlConnection(connstr);
  15. SqlCommand command = new SqlCommand(sql, connection);
  16. connection.Open();
  17. SqlDataReader dr = command.ExecuteReader();
  18. if(dr.Read())
  19. {
  20. Response.ContentType = dr["imgtype"].ToString();
  21. Response.BinaryWrite( (byte[]) dr["imgdata"] );
  22. Response.Write(dr["IMGTITLE"].ToString());
  23. }
  24. connection.Close();
  25. }
  26. 〈/script  〉

顯示圖片的頁面上放一個image控件imgZYF 在后代碼中寫:imgZYF.ImageUrl =“ViewImage.aspx?UserID=" +userId

二、ASP.NET上傳文件到服務器的磁盤:

頁面文件:upload01.aspx

 
 
 
  1. 〈%@Pagelanguage="c#"Codebehind="upload01.aspx.cs"
  2. AutoEventWireup="false"Inherits="upload01.upload01"%〉
  3. 〈!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN"〉
  4. 〈HTML〉
  5. 〈HEAD〉
  6. 〈title〉上傳到磁盤〈/title〉
  7. 〈/HEAD〉
  8. 〈body〉
  9. 〈formid="Form1"method="post"runat="server"〉
  10. 〈TABLEheight="300"cellSpacing="1"cellPadding="1"
  11. width="500"border="0"class="bigtable-bj"
  12. align="center"〉
  13. 〈TR〉
  14. 〈TD〉〈FONTface="宋體"〉
  15. 〈TABLEid="Table1"style="WIDTH:384px;HEIGHT:54px"
  16. cellSpacing="1"cellPadding="1"width="384"
  17. border="0"align="center"〉
  18. 〈TR〉
  19. 〈TD〉選擇文件:〈/TD〉
  20. 〈TD〉〈INPUTtype="file"id="myfile"runat="server"〉〈/TD〉
  21. 〈/TR〉
  22. 〈TR〉
  23. 〈TDstyle="HEIGHT:21px"〉輸入備注:〈/TD〉
  24. 〈TDstyle="HEIGHT:21px"〉
  25. 〈asp:TextBoxid="TextBox1"runat="server"〉〈/asp:TextBox〉〈/TD〉
  26. 〈/TR〉
  27. 〈TR〉
  28. 〈TD〉〈/TD〉
  29. 〈TD〉〈INPUTtype="button"value="上傳文件"
  30. runat="server"id="Button1"name="Button1"〉 
  31. 〈INPUTtype="submit"value="清空選擇"〉〈/TD〉
  32. 〈/TR〉
  33. 〈/TABLE〉
  34. 〈/FONT〉
  35. 〈/TD〉
  36. 〈/TR〉
  37. 〈/TABLE〉
  38. 〈/form〉
  39. 〈/body〉
  40. 〈/HTML〉
  41. 后置代碼:upload01.aspx
  42. usingSystem;
  43. usingSystem.Collections;
  44. usingSystem.ComponentModel;
  45. usingSystem.Data;
  46. usingSystem.Drawing;
  47. usingSystem.Web;
  48. usingSystem.Web.SessionState;
  49. usingSystem.Web.UI;
  50. usingSystem.Web.UI.WebControls;
  51. usingSystem.Web.UI.HtmlControls;
  52. namespaceupload01
  53. {
  54. publicclassupload01:System.Web.UI.Page
  55. {
  56. protectedSystem.Web.UI.HtmlControls.HtmlInputButtonButton1;
  57. protectedSystem.Web.UI.WebControls.TextBoxTextBox1;
  58. protectedSystem.Web.UI.HtmlControls.HtmlInputFilemyfile;
  59. privatevoidPage_Load(objectsender,System.EventArgse)
  60. {
  61. //昨夜風www.zuoyefeng.com
  62. }
  63. privatevoidButton1_ServerClick
  64. (objectsender,System.EventArgse)
  65. {
  66. //取得客戶端路徑及文件名
  67. stringstr=myfile.PostedFile.FileName;
  68. //取得ASP.NET上傳文件類型,如.jpg
  69. stringfilename2=str.Substring
  70. (str.LastIndexOf(".")).ToString().Trim();
  71. //取得ASP.NET上傳文件大小,單位K
  72. doublefilesize=myfile.PostedFile.ContentLength/1024.00;
  73. //以時間刻度定義文件名
  74. stringfilename1=DateTime.Now.Ticks.ToString();
  75. myfile.PostedFile.SaveAs(Server.MapPath
  76. ("/upload01/"+filename1+filename2));
  77. //將文件名及相關(guān)信息存到數(shù)據(jù)庫中
  78. }
  79. }
  80. }

將ASP.NET上傳文件到磁盤中,在表中將文件地址或路徑記錄下來,這樣就可以在后面的程序來引用了。


分享文章:ASP.NET上傳文件面面觀
當前地址:http://www.dlmjj.cn/article/dpoidhp.html