保存圖片流到數據庫之後固定顯示新法
在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