GUID ile benzersizlik oluşturma hakkında

Kodla Büyü

offchu

Üye
Mesajlar
29
Merhaba Arkadaşlar ,

Garip bir sorun ile karşı karşıyayım , bir proje için resim upload etmem gerekiyor ancak upload ettiğim resimlerin isimlerini benzersiz yapmam lazım bunun için aşağıdaki kodu kullandım ,

PHP:
protected void btn_rEkle_Click(object sender, EventArgs e)
        {

            string resimadi = System.Guid.NewGuid().ToString();
            resimadi = resimadi.Replace("-", string.Empty);

            if (fu_iresim.HasFile)
            {

            fu_iresim.SaveAs(Server.MapPath("/iresim/"+resimadi));

            SqlCommand cmde = new SqlCommand("insert into Resim (ilanID,resimAd,resimResim) Values ('" +ddl_ilan.SelectedValue + "','" + txt_rAd.Text + "','/iresim/"+resimadi+"')", baglan.baglan());
            cmde.ExecuteNonQuery();

                    Response.Redirect("ilanresimekle.aspx");
            }
          else
            {
           btn_rEkle.Text="Resim Ekle";
            }

Localde güzel güzel çalışıyor , ancak hosting e attığımda komut çalışmıyor nerede hata yapıyorum ?
 
resimadi değişkenini ekrana yazdırdığınızda isim sizin istediğiniz gibi oluşuyor mu? Oluşmuyorsa, guid kütüphanesi hostingde tanımlı olmayabilir mi, onu araştırmalısınız.
İsim oluşuyor ama resmi mi ilgili yere kaydetmiyor? İlgili klasörle ilgili yazma izinlerini kontrol etmek gerekebilir.
 
resimadi değişkenini ekrana yazdırdığınızda isim sizin istediğiniz gibi oluşuyor mu? Oluşmuyorsa, guid kütüphanesi hostingde tanımlı olmayabilir mi, onu araştırmalısınız.
İsim oluşuyor ama resmi mi ilgili yere kaydetmiyor? İlgili klasörle ilgili yazma izinlerini kontrol etmek gerekebilir.

Merhaba cevabınız için teşekkürler ,

Öncelikle Local için söylüyorum , resim klasörümde GUID tarafından oluşturulan isimler mevcut SQL veri tabanını da kontrol ettiğimde GUID tarafından oluşturulmuş isimlerin aktarıldığını görüyorum. Aşağıdaki resimde Local için detaylar mevcut,





Hosting de ise resmin adı neyse o mesela yukarıda ki resimde ev-5 hem klasörde hemde veritabanında aynı isimde.

Hosting de ise şu şekilde ,

 
Son düzenleme:
string resimadi = System.Guid.NewGuid().ToString();
Satırından sonra resimadi değişkenini bir yere yazdırıp, guid in değer üretip, üretmediğini bir kontrol edin. Sanki resimadi değişkeni boş dönüyor, dolayısıyla saveas satırında resmi, iresim klasörüne aynı isimde kaydediyor.
Bir de Koddaki system ifadesini silip dener misiniz. Netteki örneklerde hep Guid.NewGuid()... Şeklinde kullanılmış.
 
Son düzenleme:
string resimadi = System.Guid.NewGuid().ToString();
Satırından sonra resimadi değişkenini bir yere yazdırıp, guid in değer üretip, üretmediğini bir kontrol edin. Sanki resimadi değişkeni boş dönüyor, dolayısıyla saveas satırında resmi, iresim klasörüne aynı isimde kaydediyor.
Bir de Koddaki system ifadesini silip dener misiniz. Netteki örneklerde hep Guid.NewGuid()... Şeklinde kullanılmış.

Sadece Guid.NewGuid() şeklinde de kullandım local de yine Guid rastgele sayılar uyguladı yani işini yaptı , ama servera puplish edip attığımda yine resim adıyla alıyor, projeyi puplish edip sadece değişiklik yaptığım aspx sayfasını atıyorum paranoyak oldum artık bütün projeyi mi atmam gerekiyor acaba ??
 
string resimadi = System.Guid.NewGuid().ToString();
Satırından sonra resimadi değişkenini bir yere yazdırıp, guid in değer üretip, üretmediğini bir kontrol edin. Sanki resimadi değişkeni boş dönüyor, dolayısıyla saveas satırında resmi, iresim klasörüne aynı isimde kaydediyor.
Bir de Koddaki system ifadesini silip dener misiniz. Netteki örneklerde hep Guid.NewGuid()... Şeklinde kullanılmış.

Aynen öylemiş Yakuphan Hocam , projeyi komple publish ettikten sonra attım hosting e bu sefer oldu
 
Son düzenleme:
Geri
Üst