ASP.NET MSSQL veri tabanından resim çekme

Pixel_x

Kilopat
Katılım
7 Haziran 2015
Mesajlar
468
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Meslek
Bilgisayar Programcısı
ASP.NET ve MSSQL veri tabanından resim ekliyorum fakat resmi çektiğimde resim gelmiyor. Resim çekmeyi Eval ile yapıyorum. UptadeFile ile resmi veri tabanına sorunsuz bir şekilde ekliyorum, ve veri tabanında resim gözüküyor. Fakat imageye veri tabanında resmi gösteriyorum ama resim gelmiyor. Bunun nedeni ne olabilir?

örnek : ImageUrl="<%#Eval("resim")%>" böyle değil mi? Aşağıya dosyayı ekledim. Yardımcı olur musunuz? Okulun verdiği proje çok uğraşarak veri tabanına resim ekledim ama image de gösteremedim. Şimdiden teşekkürler.

 
ImageUrl=<%#Eval("rsm") %> kaynakta bu şekilde görünüyor yukarıda yazdığın gibi dene bakalım
(<asp:Image ID="Image1" ImageUrl='<%#Eval("rsm") %>' runat="server" />) tabi veritabanına bakamadım uygun program olmadığından resim yolunun doğru olduğundan emin ol..
 
ImageUrl=<%#Eval("rsm") %> kaynakta bu şekilde görünüyor yukarıda yazdığın gibi dene bakalım
(<asp:Image ID="Image1" ImageUrl='<%#Eval("rsm") %>' runat="server" />) tabi veritabanına bakamadım uygun program olmadığından resim yolunun doğru olduğundan emin ol..
Updatefile ile resmi klasore kaydettim asp image ile resmi gosterdigimde resmin adi geliyor yolu gelniyor
Update file resim cekip eklendiginde resmin adi degilde yolu nasil kaydedilir
 
Son düzenleme:
Şu şekle benzer bir şekilde yapabilirsin, tabi önce resimyolu kaydının tutulabilmesi için yeni bir sütun eklemen gerekecek tablona. Burada bu isim resimyolu olarak farzedilmiş.

bağlantı bilgisi
string resimismicek = FileUpload1.FileName;
string resimyolucek = "/resim/" + FileUpload1.FileName;
baglan.Open();
string sorgu = "insert into Tbl_Resim(rsm,resimyolu) values(@resimismi,@resimyolu)";
SqlCommand ekle = new SqlCommand(sorgu, baglan);
ekle.Parameters.AddWithValue("@resimismi", resimismicek);
ekle.Parameters.AddWithValue("@resimyolu", resimyolucek);
ekle.ExecuteNonQuery();
baglan.Close();
 
Şu şekle benzer bir şekilde yapabilirsin, tabi önce resimyolu kaydının tutulabilmesi için yeni bir sütun eklemen gerekecek tablona. Burada bu isim resimyolu olarak farzedilmiş.

bağlantı bilgisi
string resimismicek = FileUpload1.FileName;
string resimyolucek = "/resim/" + FileUpload1.FileName;
baglan.Open();
string sorgu = "insert into Tbl_Resim(rsm,resimyolu) values(@resimismi,@resimyolu)";
SqlCommand ekle = new SqlCommand(sorgu, baglan);
ekle.Parameters.AddWithValue("@resimismi", resimismicek);
ekle.Parameters.AddWithValue("@resimyolu", resimyolucek);
ekle.ExecuteNonQuery();
baglan.Close();

asp:image ye çekmem lazım. resmi dosyaya adını ise veri tabanına ekliyorum. asp:image veri tabanı adını eval ile gösteriyorum resim gözükmüyor

Proje Dosyam : asp.net_dosylar.zip

Veri tabanı İçerisnde MSSQL 2012 .bak dosyası indirip bakabilirsiniz.
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="Kaydet" OnClick="Button1_Click" />
<br />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
<br />
<br />
<asp:Button ID="Button2" runat="server" PostBackUrl="~/Default2.aspx" Text="Resim Sayfası" />
</div>
</form>
</body>
</html>


Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class _Default : System.Web.UI.Page
{
string baglan = ConfigurationManager.ConnectionStrings["baglanti"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{try
{
if (FileUpload1.HasFile)
{
FileUpload1.SaveAs(Server.MapPath("resim//" + FileUpload1.FileName));
}
SqlDataAdapter blmekle = new SqlDataAdapter("insert into Tbl_Resim (rsm) Values ('" + FileUpload1.FileName+ "')", baglan);
DataTable tblblmekle = new DataTable();
blmekle.Fill(tblblmekle);
Label1.Text = "Kayıt Eklendi.";
}
catch (Exception rtt)
{
Label1.Text = rtt.ToString();
}
}
}


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

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="rpt" runat="server">
<ItemTemplate>
<asp:Image ID="Image1" ImageUrl=<%#Eval("rsm") %> runat="server" /><br />
</ItemTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>


Defaukt2.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class Default2 : System.Web.UI.Page
{
string baglan = ConfigurationManager.ConnectionStrings["baglanti"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
SqlDataAdapter tblduyuru = new SqlDataAdapter("select * from Tbl_Resim", baglan);
DataTable tbldyrgoster = new DataTable();
tblduyuru.Fill(tbldyrgoster);
rpt.DataSource = tbldyrgoster;
rpt.DataBind();
}
}
 
Son düzenleme:
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı