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" />&nbsp;<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();               }
      }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值