Forum

File Upload ile Res...
 
Bildirimler
Hepsini Temizle

File Upload ile Resim Exif Bilgileri

2 Yazılar
2 Üyeler
0 Likes
493 Görüntüleme
(@BahtiyarHisar)
Gönderiler: 11
Eminent Member
Konu başlatıcı
 

Aşağıdaki
gibi kod bloğum var ancak büyük puntolarla belirlediğim satırdaki resim
yolundan değilde File uploada eklediğim resmin bilgilerini alsın istiyorum
nasıl yapacağımı bilemedim. Yardımcı olursanız sevinirim... File Upload ın ID si
"fuResim"

---------------------------------------------------------------------------------
   protected void btnResimEkle_Click(object sender, EventArgs e)
    {
        string resimAdi = "";//Resim için değişken tanımlıyoruz.
        string uzanti = "";
        string Modell = "";
        string Odakk = "";
        string Poz = "";
        string F = "";
        string ISOO = "";
 
        if (fuResim.HasFile)
        {
            uzanti = Path.GetExtension(fuResim.PostedFile.FileName);//Bu metod ile resmin uzantısını elde ediyoruz.
            resimAdi = Ayarlar.UrlSeo(txtResimAdi.Text) + "-Galeri-Resim-" + DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + "-" + DateTime.Now.Hour + "-" + DateTime.Now.Minute + "-" + DateTime.Now.Second + uzanti; //Resmin adını "Başlık"tan alalım ve adını mümkün olduğunca uzatıp adına birde tarih ekleyelim.
            fuResim.SaveAs(Server.MapPath("../Resimler/Galeri/gecici" + uzanti));//Resmi geçici olarak tempte tutuyoruz.
 
            Bitmap MyPhoto = new Bitmap(@"C:\\resim.jpg");
            PropertyItem[] props = MyPhoto.PropertyItems;
 
            const int IDCamModel = 272;
            PropertyItem MakeModel = MyPhoto.GetPropertyItem(IDCamModel);
            Encoding ascii = Encoding.ASCII;
            string Model = ascii.GetString(MakeModel.Value, 0, MakeModel.Len - 1);
            Modell = Model.ToString();
            MessageBox.Show(Modell);
 
            const int OdakUzunlugu = 37383;
            PropertyItem MakeOdak = MyPhoto.GetPropertyItem(OdakUzunlugu);
            Encoding asciiOdak = Encoding.ASCII;
            Int16 Odak = BitConverter.ToInt16(MakeOdak.Value, 0);
            if (Odak >= 0 && Odak <= 6)
            {
                Odakk = Odak.ToString() + "0" + " mm";
            }
 
            const int PozSuresi = 33434;
            PropertyItem MakePoz = MyPhoto.GetPropertyItem(PozSuresi);
            Encoding asciiPoz = Encoding.ASCII;
            Int16 Poz1 = BitConverter.ToInt16(MakePoz.Value, 0);
            Int16 Poz2 = BitConverter.ToInt16(MakePoz.Value, 4);
            if (Poz1 >= Poz2)
            {
                Poz1 /= Poz2;
                Poz = Poz1.ToString();
            }
            Poz1 = (Int16)(Poz2 / Poz1);
            Poz = "1/" + Poz1.ToString() + " sn.";
 
            const int FDuragi = 33437;
            PropertyItem MakeF = MyPhoto.GetPropertyItem(FDuragi);
            Encoding asciiF = Encoding.ASCII;
            if (BitConverter.ToInt16(MakeF.Value, 4) != 0)
            {
                Int16 F1 = (Int16)(BitConverter.ToInt16(MakeF.Value, 0) / BitConverter.ToInt16(MakeF.Value, 4));
                Int16 F2 = (Int16)(BitConverter.ToInt16(MakeF.Value, 0) % BitConverter.ToInt16(MakeF.Value, 4));
                F = "f/" + F1.ToString() + "." + F2.ToString();
            }
 
            const int ISOSpeed = 34855;
            PropertyItem MakeISO = MyPhoto.GetPropertyItem(ISOSpeed);
            Encoding asciiISO = Encoding.ASCII;
            Int16 ISO = BitConverter.ToInt16(MakeISO.Value, 0);
            ISOO = "ISO-" + ISO.ToString();
 
 --------------------------------------------------------------------------------------------------------
 
Gönderildi : 10/06/2014 02:16

(@yasarkiyak)
Gönderiler: 507
Honorable Member
 
      foreach (var item in bitmap.PropertyItems)
           {
                Console.WriteLine("Id: {0}, Type: {1}, Value: {2}", 
                   item.Id, item.Type, item.Value);
            }
 
Bu c# için ama fikir verir diye düşünüyorum. 
 
Gönderildi : 11/06/2014 11:48

Paylaş: