c# asp.net ile veritabanına resim kaydetme ve resim yüklemeye örnek. Bu örnekte FileUpload, GridView, Label ve Image ile Button kontroller anlatılmıştır.



Default.aspx Sayfası

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    <title>Untitled Page</title>

</head>

<body>

    <form id="form1" runat="server">

    <h1>

        İstemcinin Bilgisayarından<br />

        Resim Yükle</h1>

    <div id="divFu">

        <asp:FileUpload ID="fuDosya" runat="server" />

        <asp:Button ID="BtnYukle"

                    runat="server"

                    OnClick="BtnYukle_Click"

                    Text="İstemci Bilgisayarındaki Resmi Web Sitemizindeki klasore Kaydet"

                    Width="441px" />

        <br />

        <asp:Label ID="lblImageAdres" runat="server" Text="" Visible="false"></asp:Label>

        <br />

        <asp:Button ID="BtnKaydet"

                    runat="server"

                    Text="Resmin Adresini Veritabanına Kaydet"

                    OnClick="BtnKaydet_Click"

                    Width="232px" />

        <br />

        <asp:Label ID="ErrorMessage"

                   runat="server"

                   Font-Bold="True"

                   ForeColor="Red"></asp:Label>

    </div>

    <br />

    <h2>

        Web Sitemin Veritabanından&nbsp;<br />

        ResimYükle</h2>

    <div>

        <asp:Button ID="BtnResimYukle"

                    runat="server"

                    Text="Resim Yükle"

                    OnClick="BtnResimYukle_Click" />

        <br />

    </div>

    <div>

        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">

            <Columns>

                <asp:TemplateField>

                    <ItemTemplate>

                        <asp:Image ID="Image1"

                                   runat="server"

                                   ImageUrl='<%#Eval("ResimAdresi") %>' />

                    </ItemTemplate>

                </asp:TemplateField>

            </Columns>

        </asp:GridView>

    </div>

    </form>

</body>

</html>

Default.aspx.cs Sayfası

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

 

public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

 

    }

    /*İstemcinin bilgisayarındaki resmi Web sitemdeki imgDepo klasörüne kaydet */

    protected void BtnYukle_Click(object sender, EventArgs e)

    {

        if (fuDosya.HasFile) // Dosya var

        {

            string uzanti = System.IO.Path.GetExtension(fuDosya.FileName).ToLower();

            if (uzanti == ".jpg" || uzanti == ".gif")

            {

                try

                {

                    fuDosya.PostedFile.SaveAs(Server.MapPath("./imgDepo/") + fuDosya.FileName);

                    ErrorMessage.Text = string.Format(

                              @"Dosya Yüklendi...<br>

                                Dosya adı: {0}<br>

                                Dosya Boyutu: {1} byte<br>

                                Dosya Adresi: {2}",

                                fuDosya.FileName,

                                fuDosya.PostedFile.ContentLength,

                                Server.MapPath("./imgDepo/")+ fuDosya.FileName);

                    lblImageAdres.Text =Convert.ToString("~/imgDepo/"+fuDosya.FileName);

                }

                catch (Exception ex)

                {

                    ErrorMessage.Text = "Dosya yüklenemiyor.." + ex.Message;

                }

            }

            else

            {

                ErrorMessage.Text = "Sadece .gif ve .jpg yüklenebilmektedir.";

            }

        }

        else

        {

            ErrorMessage.Text = "Lütfen dosya seçiniz";

        }

    }

    /* Veritabanı bağlantı metodu*/

    private string ConnectionString

    {

        get{

            return @"data source=.\SQLEXPRESS;

                     Integrated Security=true;

                     AttachDBFilename=|DataDirectory|Database.mdf;

                     User Instance=true";

        }

    }

    /* Resmin kaydedildiği yerin adresini veritabanına kaydet */

    protected void BtnKaydet_Click(object sender, EventArgs e)

    {

        SqlConnection sqlConn = new SqlConnection(ConnectionString);

        String strSql =@"INSERT INTO Resimler(ResimAdresi)

                         VALUES(@ResimAdresi)";

        SqlCommand sqlComm = new SqlCommand(strSql,sqlConn);

        SqlParameter p = null;

 

        p = new SqlParameter("@ResimAdresi",SqlDbType.NVarChar,50);

        p.Value = lblImageAdres.Text.Trim();

        sqlComm.Parameters.Add(p);

 

        try

        {

            sqlConn.Open();

            sqlComm.ExecuteNonQuery();

            ErrorMessage.Text ="Bilgi başarı ile veritabanına kaydedildi..";

            sqlConn.Close();

            sqlComm.Dispose();

        }

        catch (Exception ex)

        {

            ErrorMessage.Text ="Hata!.." +ex.Message.ToString();

        }

    }

 

    protected void BtnResimYukle_Click(object sender, EventArgs e)

    {

        SqlConnection sqlConn = new SqlConnection(ConnectionString);

        String strSql ="SELECT ResimAdresi FROM Resimler";

        SqlDataAdapter sqlAd = new SqlDataAdapter(strSql,sqlConn);

        DataSet ds = new DataSet();

        sqlAd.Fill(ds);

        GridView1.DataSource = ds;

        GridView1.DataBind();

    }

}



Puan Ver

 
 

Yorum yapmak istiyorum





Yapılan Yorumlar


Yorum Tarihi Yapılan Yorum
Güzel örnek olmuş saolsın ..