閱讀937 返回首頁    go 阿裏雲 go 技術社區[雲棲]


保存圖片流到數據庫之後固定顯示新法

在sqlserver中的圖片類型是image,然後,通過dataset保存到數據庫中,通過showimg.aspx文件來讀出圖片,即顯示圖片,代碼如下:


DimimageAsByte()=IssueQuestionRow.QuestionImage
'/轉換為支持存儲區為內存的流
DimmemStreamAsNewSystem.IO.MemoryStream(image)
'/定義並實例化Bitmap對象
DimbmAsNewBitmap(memStream)
'/根據不同的條件進行輸出或者下載;
Response.Clear()
'/如果請求字符串指定下載,就下載該文件;
'/否則,就顯示在瀏覽器中。
IfRequest.QueryString("Download")="1"Then
Response.Buffer=True
Response.ContentType="application/octet-stream"
'/這裏下載輸出的文件名字ok.jpg為例子,你實際中可以根據情況動態決定。
Response.AddHeader("Content-Disposition","attachment;filename=ok.jpg")
Else

Response.ContentType="image/jpg"
EndIf
Response.BinaryWrite(image)

Response.End()


然後通過需要調用顯示圖片的頁麵,加入


<img src=”./showimg.aspx”wigth=”100px”height=”50”>

來固定圖片的顯示位置、大小等。當然也可以通過一個頁麵的不同參數來獲得不同的圖片,如下代碼:


Showimg.aspx文件:
PublicQuestionIDAsString
PublicChapterIDAsString
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
'在此處放置初始化頁的用戶代碼
IfNotIsPostBackThen
QuestionID=Request.QueryString("QID")
ChapterID=Request.QueryString("ChapterID")
Exercise=EXH.GetExercise(ChapterID)
DimdvAsNewDataView(Exercise.Ex_IssueQuestion)
dv.RowFilter="QuestionID='"+QuestionID+"'"
Ifdv.Count>0Then
IssueQuestionRow=dv.Item(0).Row
DimimageAsByte()=IssueQuestionRow.QuestionImage
'/轉換為支持存儲區為內存的流
DimmemStreamAsNewSystem.IO.MemoryStream(image)
'/定義並實例化Bitmap對象
DimbmAsNewBitmap(memStream)
'/根據不同的條件進行輸出或者下載;

Response.BinaryWrite(image)
EndIf
EndIf
EndSub

在其他需要調用的地方的aspx頁麵裏隻需寫:


<img src=”./showimg.aspx?QuestionID=222&ChapterID=3”wigth=”100px”height=”50”>

最後更新:2017-04-02 00:06:35

  上一篇:go ASP.NET 2.0裏輕鬆獲取數據庫連接統計數據
  下一篇:go 在ASP.NET 2.0中使用頁麵導航控件