Asp.net圖片上傳access數據庫以及圖片顯示;點擊圖片以後顯示[圖片,以及圖片的
Access數據庫:在數據庫建立一個pic(id設爲主鍵[自動編號],)的表,(pic_name[備註])用於存儲上傳圖片的名字.[此博客全部程序都通過windowds 2003和vs2005測試]
Upload.aspx
<form id="form1" method="post" enctype="multipart/form-data" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="Button1"
runat="server" OnClick="Button1_Click" Text="Button" /><br />
<br />
<asp:Image ID="Image1" runat="server" /><br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
</div>
</form>
upload.cs
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string name = FileUpload1.FileName;//獲取已上傳的文件的名字
string size = FileUpload1.PostedFile.ContentLength.ToString();//獲取已上傳文件的大小
string type = FileUpload1.PostedFile.ContentType;//獲取已上傳文件mime內容類型
string type2 = name.Substring(name.LastIndexOf(".")+1);//得到文件的後綴名
string ipath = Server.MapPath("upimg") + "//" + name;//獲取文件上傳的實際路徑
string fpath = Server.MapPath("upfile") + "//" + name;//獲取文件上傳的實際路徑
string wpath = "upimg//" + name;//寫到文件的虛擬路徑
//判斷文件格式
if (type2 == "jpg" || type2 == "gif")
{
FileUpload1.SaveAs(ipath);//將文件保存到path路徑裏面
Image1.ImageUrl = wpath;//顯示圖片
Label1.Text = "文件名稱:" + name + "<br>文件大小:" + size + "文字<br>文件類型是:" + type + "<br>後綴名" + type2 + "<br>實際路徑" + ipath + "<br>虛擬路徑:" + wpath;
//把圖片名字存到數據庫裏面
//定義連接數據庫對象
string conn = "provider=Microsoft.Jet.OLEDB.4.0;Data source=" + Server.MapPath("../App_Data/data.mdb");
OleDbConnection oleConnection = new OleDbConnection(conn);
oleConnection.Open();
OleDbCommand myCommand = new OleDbCommand("insert into pic (pic_name) values ('"+ name+"')", oleConnection);
myCommand.ExecuteNonQuery();
oleConnection.Close();
}
else
{
Image1.Visible = false;//將圖片控件隱藏
FileUpload1.SaveAs(fpath);//將文件保存到別的文件夾
Label1.Text = "文件名稱:" + name + "<br>文件大小:" + size + "文字<br>文件類型是:" + type + "<br>後綴名" + type2 + "<br>實際路徑" + ipath + "<br>虛擬路徑:" + wpath;
}
}
Image_show.aspx(用於顯示上傳以後圖片的的頁面)
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server" Font-Bold="False" Font-Italic="False"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Left"
RepeatDirection="Horizontal">
<ItemTemplate>
<a href="pro_show.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id") %>">
<img border="0" src="admin/upimg/<%# DataBinder.Eval(Container.DataItem,"pic_name") %>" />
</a>
</ItemTemplate>
</asp:DataList></div>
</form>
Image_show.aspx(cs)
protected void Page_Load(object sender, EventArgs e)
{
//創建連接數據庫字符串
string conn = "provider=Microsoft.Jet.OLEDB.4.0;Data source=" + Server.MapPath("App_Data/test.mdb");
OleDbConnection oleConnection = new OleDbConnection(conn);
try
{
//打開數據庫連接
oleConnection.Open();
OleDbCommand cmd = new OleDbCommand("select * from pic", oleConnection);
OleDbDataAdapter dpt = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
dpt.Fill(ds);
DataList1.DataSource = ds;
DataList1.DataBind();
}
finally
{
//關閉數據庫
oleConnection.Close();
}
}
pro_show.aspx(點擊圖片以後,顯示圖片以及文字介紹)
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Label" Width="142px"></asp:Label><asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<img border="0" src="admin/upimg/<%# DataBinder.Eval(Container.DataItem,"pic_name") %>" />
</ItemTemplate>
</asp:DataList></div>
</form>
pro_show.cs
protected void Page_Load(object sender, EventArgs e)
{
string AuthorID = Request["id"].ToString();
//創建連接數據庫字符串
string conn = "provider=Microsoft.Jet.OLEDB.4.0;Data source=" + Server.MapPath("App_Data/test.mdb");
OleDbConnection oleConnection = new OleDbConnection(conn);
OleDbCommand cmd = new OleDbCommand("select * from pic where [id]=" + AuthorID, oleConnection);
//打開數據庫連接
oleConnection.Open();
try
{
OleDbDataAdapter dpt = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
dpt.Fill(ds);
DataList1.DataSource = ds;
DataList1.DataBind();
OleDbDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Label1.Text = dr["introduced"].ToString();
}
}
catch (Exception error)
{
Response.Write(error.ToString());
}
finally
{
oleConnection.Close();
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.