aspnet從資料庫讀取圖片
① C#怎樣讀取資料庫中的圖片(看清說明再回答!)
這個我做過,流程就是首先新建一個頁面用於輸出圖像,將資料庫中的二進制數據流讀取到位元組數組中,再定義基於位元組數組的內存流,再定義圖片對象,從內存流中生成圖片,輸出到一個新建頁面上,在需要的頁面上,定義image控制項,imageurl就指向這個頁面,當然了,得傳一個參數,就是你要查詢的條件啊,這樣這個頁面才會動態的輸出不同的圖片。
以下是讀取圖片的代碼:
/// <summary>
/// 顯示圖片
/// </summary>
/// <param name="sql"></param>
protected void LoadImage(string sql)
{
DataOperate dt = new DataOperate();//操作類的實例
SqlConnection Conn = dt.GetConn();
Conn.Open();
SqlCommand cmd = new SqlCommand(sql, Conn);
byte[] fileData = (byte[])cmd.ExecuteScalar();
Conn.Close();
System.IO.MemoryStream ms = new System.IO.MemoryStream(fileData);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
② C#.net 中怎麼從sql資料庫中調出圖片
如果欄位裡面存儲的是圖片地址,那可以通過讀取image欄位的值並綁定到一個image上,如果存儲的是圖片2進制字元串,稍微麻煩點,但是網上有很多把圖片作為2進制存入資料庫的。。
③ c#中如何根據資料庫中的路徑讀取圖片
網站上不能這樣存路徑,這種路徑是沒用的,對於網站來說,我不清楚你這個圖片是後台上傳的還是自己手填到資料庫的,原理都一樣,比如是用後台上傳的,那應該把圖片上傳後保存到網站的一個固定的目錄,比如存在網站根目錄下的upload目錄(假定名為123.jpg),那你資料庫中的保存的路徑就應該是比如/upload/123.jpg
然後下面的頁面代碼就可以不用改了。
④ asp.net在資料庫讀取圖片(C#)急
<ItemTemplate>
<a href='<%# DataBinder.Eval(Container.DataItem,"zsdatu")%>'><asp:Image ID="image1" ImageUrl='<%# Eval("zsdatu") %>' runat ="server" /></a>
</ItemTemplate>
分頁嘛,我給你點資料,自己去改一下,我以前就是根據這個做的,
本文收藏在我博客裏了
http://hi..com/lancy/blog/item/12be3b29b6cec3fe99250ab9.html
DataGrid控制項內部也使用了PagedDataSource類,PagedDataSource 類封裝 DataGrid 控制項的屬性,這些屬性使 DataGrid 可以執行分頁。
PagedDataSource 類的部分公共屬性:
AllowCustomPaging 獲取或設置指示是否啟用自定義分頁的值。
AllowPaging 獲取或設置指示是否啟用分頁的值。
Count 獲取要從數據源使用的項數。
CurrentPageIndex 獲取或設置當前頁的索引。
DataSource 獲取或設置數據源。
DataSourceCount 獲取數據源中的項數。
FirstIndexInPage 獲取頁中的第一個索引。
IsCustomPagingEnabled 獲取一個值,該值指示是否啟用自定義分頁。
IsFirstPage 獲取一個值,該值指示當前頁是否是首頁。
IsLastPage 獲取一個值,該值指示當前頁是否是最後一頁。
IsPagingEnabled 獲取一個值,該值指示是否啟用分頁。
IsReadOnly 獲取一個值,該值指示數據源是否是只讀的。
IsSynchronized 獲取一個值,該值指示是否同步對數據源的訪問(線程安全)。
PageCount 獲取顯示數據源中的所有項所需要的總頁數。
PageSize 獲取或設置要在單頁上顯示的項數。
VirtualCount 獲取或設置在使用自定義分頁時數據源中的實際項數。
這些屬性是否和DataGrid的屬性很相似?沒錯,DataGrid控制項就是使用PagedDataSource類來實現數據分頁顯示的 。下面舉個使用PagedDataSource類實現DataList和Repeater控制項的分頁顯示的例子:
public void Page_Load(Object src,EventArgs e)
{
OleDbConnection objConn=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\test.mdb");
OleDbDataAdapter objCommand=new OleDbDataAdapter("select * from Users",objConn);
DataSet ds=new DataSet();
objCommand.Fill(ds);
//對PagedDataSource 對象的相關屬性賦值
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = ds.Tables[0].DefaultView;
objPds.AllowPaging = true;
objPds.PageSize = 5;
int CurPage;
//當前頁面從Page查詢參數獲取
if (Request.QueryString["Page"] != null)
CurPage=Convert.ToInt32(Request.QueryString["Page"]);
else
CurPage=1;
objPds.CurrentPageIndex = CurPage-1;
lblCurrentPage.Text = "Page: " + CurPage.ToString();
if (!objPds.IsFirstPage)
lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage-1);
if (!objPds.IsLastPage)
lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page=" + Convert.ToString(CurPage+1);
//把PagedDataSource 對象賦給Repeater控制項
Repeater1.DataSource=objPds;
Repeater1.DataBind();
⑤ asp.net(C#)與ACCESS資料庫存取二進制圖片
<%@ language = "vbscript" %>
<%
dim sn
dim constr
dim sqlstr
***************************************************
Response.Expires =-1
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-ctrol","no-cache"
***************************************************
'sn = request.QueryString("sn")
sn=trim(Request("sn"))
none=""
if sn = "" then
sn=0
none=" or 1=0"
end if
set connGraph = server.CreateObject("ADODB.connection")
constr="Provider=sqloledb;Server=DTLTJFB\DTSQL2000;initial Catalog=dt_unicom;UID=identify_admin;PWD=sa;"
connGraph.Open constr
sqlstr="select img_data from [aa_identify_detail] where id=" & sn & none
set rec=connGraph.Execute(sqlstr)
if rec.eof or rec.bof then Response.end
img=rec("img_data")
isize=len(img)*2+500
'response.write isize
***************************************************
Response.ContentType = "image/jpeg"
Response.BinaryWrite rec("img_data").getChunk(isize)
***************************************************
set rec=nothing
connGraph.close
set connGraph=nothing
%>
以前做的一個程序。****號處,好好看看。
⑥ 關於ASP.NET(C#)中讀取資料庫中圖片的問題
列名:
類型:
ID
int
(最好在設置為主鍵)
primary
key(也可以設置一個自動增長)
identity
UserName
nvarchar(數值)根據名字的長度調整
Mphone
nchar(固定長度)
UserImage
這個不知道你路徑長短(註:最好路徑不要太長)nvarchar(長度可變)
順便告訴你一下資料庫的一般格式:
1.nchar(n)
包含
n
個字元的固定長度
Unicode
字元數據,最大長度為
4,000
個字元
2.nvarchar(n)包含
n
個字元的可變長度
Unicode
字元數據,其最大長度為
4,000
字元
3.char(n)長度為
n
個位元組的固定長度且非
Unicode
的字元數據,最大長度為
8,000
個字元
4.varchar(n)長度為
n
個位元組的可變長度且非
Unicode
的字元數據,最長為
8,000
個字元
5.char和varchar都是字元串類型的,用Unicode編碼的字元串,結果是字元的整數值
(註:在你的項目裡面最好建立一個images的文件夾,用來存放圖片的,也方便資料庫的操作)
由於你的問題問的不是很清楚,如果還有什麼需要具體問的,請追加提問
⑦ C#從資料庫從讀取圖片
圖片最好不要直接存放在資料庫中,讀取慢,在資料庫中存放圖片的路徑就好了,圖片就直接放在硬碟上的某個目錄。
如果僅僅提取圖片,那麼數據表最好有兩個欄位,一個用來存ID,可以讓它從1自動增長,另一個就是圖片的完整路徑。
然後在C#窗體中要有個PictureBox控制項,兩個按鈕,上一張,和下一張。
連接資料庫,可以設置默認從ID為1的圖片開始瀏覽,並把PictureBox的Image屬性的值為數據表中的路徑值。
大致思路就上面的了。
⑧ C#winform 從資料庫中讀取圖片信息然後在一個窗體中顯示。
可以用panel 的下拉條 ,也可以設置每次只讀取幾張圖片,點擊下一頁再次調用方法讀取下一組數據 再次賦值。
⑨ 資料庫中讀取圖片到頁面(asp.net c#)
主要是看你資料庫中存的什麼東西,還有前台ASPX頁面寫的什麼東西。查詢這塊沒有錯。
一般資料庫中只存圖片的鏈接地址,然後後台將鏈接地址讀取到datareader或者dataset,再綁定到前台GridView等控制項。 很少這樣直接寫入到網頁的,比較奇怪。