Silverlight中通過呼叫WebService來顯示資料庫中以流形式儲存的圖片
在Web開發中,常見的做法如下:
將資料庫中讀取出來的內容以位元組陣列的形式儲存,字串型轉位元組陣列的方法是Convert.FromBase64String,然後以二進位制寫的方法將圖片資訊寫在頁面中。主要程式碼如下:
SWDM dm = new SWDM();
protected void Page_Load(object sender, EventArgs e)
{
string strSQL = "select picContent from tb_ssxq where OBJECTID=1";
DataSet ds = dm.getsql(strSQL);
byte[] byteFileStream = Convert.FromBase64String(ds.Tables[0].Rows[0]["picContent"].ToString());
Response.BinaryWrite(byteFileStream);
Response.End();
}
在Silverlight中如何實現呢,其實差不多,只不過在WebService中的方法的返回值要是byte[]型別,然後在Silverlight中利用MemoryStream來接收並儲存圖片流資訊,然後將其作為BitmapImage的Source即可,最後利用Silverlight的Image控制元件即可顯示出該圖片。
WebService中的程式碼如下:
/// <summary>
/// 根據險情ID獲取實時險情的圖片資訊
/// </summary>
/// <param name="paramCity"></param>
/// <returns></returns>
[WebMethod(Description = "獲取某一個實時險情的圖片資訊")]
public byte[] getSSXPictureQByID(string xqid)
{
byte[] byteFileStream = null;
string strSQL = "select picContent from tb_ssxq where OBJECTID=" + int.Parse(xqid);
DataSet ds = dm2.getsql(strSQL);
byteFileStream = Convert.FromBase64String(ds.Tables[0].Rows[0]["picContent"].ToString());
return byteFileStream;
}
Silverlight中程式碼:
<Grid x:Name="LayoutRoot" Background="White">
<Border BorderBrush="#FF5BB0FF" BorderThickness="1" Margin="0">
<Image x:Name="Image1" Margin="0" Stretch="None"/>
</Border>
</Grid>
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
//獲取險情圖片資訊
getPictureInfoSoapClient client = new getPictureInfoSoapClient();
client.getSSXPictureQByIDCompleted += new EventHandler<getSSXPictureQByIDCompletedEventArgs>(client_getSSXPictureQByIDCompleted);
client.getSSXPictureQByIDAsync(id);
}
//險情圖片
void client_getSSXPictureQByIDCompleted(object sender, getSSXPictureQByIDCompletedEventArgs e)
{
MemoryStream ms = new MemoryStream(e.Result);
BitmapImage image = new BitmapImage();
image.SetSource(ms);
this.Image1.Source = image;
}
相關文章
- 從資料庫中的表取幾張圖片,用flash形式動態的顯示圖片資料庫
- 使用Hibernate和Struts向資料庫中儲存、讀取並顯示圖片資料庫
- Android中呼叫攝像頭拍照儲存,並在相簿中選擇圖片顯示Android
- 為什莫從資料庫中取出的圖片不能顯示出來資料庫
- 微信小程式中base64圖片的顯示與儲存微信小程式
- SSIS: 把儲存在資料庫中的圖片匯出來資料庫
- 諮詢數學公式儲存到mysql中 非圖片形式儲存公式MySql
- 儲存過程呼叫不同資料庫的資料儲存過程資料庫
- 通過 POI 將資料庫中的資料上傳至 OSS 物件儲存資料庫物件
- 淺談資料庫中的儲存過程資料庫儲存過程
- 資料庫顯示圖片的問題資料庫
- 通過EFCore呼叫GBase8s資料庫儲存過程資料庫儲存過程
- java+pgsql實現儲存圖片到資料庫,以及讀取資料庫儲存的圖片JavaSQL資料庫
- 動態顯示資料庫圖片資料庫
- PB中呼叫儲存過程儲存過程
- java中呼叫儲存過程Java儲存過程
- springmvc中圖片回顯返回位元組流陣列顯示圖片完整案例SpringMVC陣列
- 在儲存過程A中呼叫儲存過程B的結果儲存過程
- jsp中呼叫儲存過程JS儲存過程
- java中呼叫ORACLE儲存過程JavaOracle儲存過程
- 使用儲存過程(PL/SQL)向資料庫中儲存BLOB物件儲存過程SQL資料庫物件
- Delphi儲存網頁中的圖片網頁
- JS中通過指定大小來壓縮圖片JS
- 將MYSQL資料顯示在QT的tablewidget中/將QT中的資料儲存到MYSQL資料庫中MySqlQT資料庫
- 為什麼不用資料庫儲存圖片?資料庫
- Jsp中呼叫Oracle儲存過程JSOracle儲存過程
- C#中通過API呼叫獲取檔案圖示C#API
- redis 設定過期時間,以資料夾形式展示key顯示快取資料Redis快取
- 基於Hibernate的圖片資料庫儲存(mysql)資料庫MySql
- 前端通過background實現圖片裁剪顯示的方法前端
- 將網頁內容以圖片形式儲存在本地網頁
- easyui tree 把選中的值存到資料庫中並從資料庫中取出在tree上顯示出來UI資料庫
- 爬取微博圖片資料存到Mysql中遇到的各種坑mysql儲存圖片爬取微博圖片MySql
- webservice中呼叫structWebStruct
- 從庫中讀圖片顯示到頁面上的主要原始碼原始碼
- 將圖片以灰色方式顯示的程式碼
- 資料庫儲存過程資料庫儲存過程
- mssql 儲存過程呼叫另一個儲存過程中的結果的方法分享SQL儲存過程