Turkcell | Geleceği Yazanlar

Soru & Cevap

Web site Klasörden Dosya adı okumak

15.11.2013 - 00:05

merhaba ben bir windows phone app geliştiriyorum app de resim göstermem gerekiyor resimler web sitesinin bir kalsöründe benim resimlerin adlarını alıp ona göre link verip appp de list box da göstericem wen servisim ile siteden belirttiğim klasördeki resimlerin isimlerini nasıl alabilirim bildiğim bir çok yolu denedim fakat olmadı site linux olduğu için içeriyede bir web servis vs koyup içerde yapamadım bu işlemi

5415 Görüntülenme

4 Cevap

Serdar
15.11.2013 - 18:40

Soruumuı şu şekilde hallettim 

 public List<ResimGetir> OResimGetir(string Id)
        {         
            string[] DosyaListesi;
            string YolBasi = "http://www.siteniz.com/static/images/"+Id+"//image/";
            List<ResimGetir> Resimler = new List<ResimGetir>();

            StringBuilder result = new StringBuilder();
            FtpWebRequest FTP;
            DataTable Dt = new DataTable();
            string FtpYolu ="ftp://siteniz.com/public_html/static/images/"+Id+"//image/";           
            FTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(FtpYolu));   
            FTP.UseBinary = true;   
            FTP.Credentials = new NetworkCredential("username", "pass");
            FTP.Method = WebRequestMethods.Ftp.ListDirectory;
            WebResponse response = FTP.GetResponse();            
            StreamReader reader = new StreamReader(response.GetResponseStream());           
            string line = reader.ReadLine();            
            while (line != null)
            {
                 result.Append(line);
                 result.Append("\n");
                 line = reader.ReadLine();
            } 
            result.Remove(result.ToString().LastIndexOf('\n'), 1); 
            reader.Close();   
            response.Close();
            
            DosyaListesi = result.ToString().Split('\n');
        //    DosyaListesi2 = DosyaListesi.ToString().Split('');
           
            List<string> liste = new List<string>(DosyaListesi);
            liste.Remove(".");
            liste.Remove("..");
            //liste.Remove(".");
            foreach (string item in liste)
            {
                 Resimler.Add(new ResimGetir { Resim_Adi = YolBasi+item });

            }
            return Resimler;
        }
    }
    public class ResimGetir
    {
        public string Resim_Adi { get; set; }

    }

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Serdar
15.11.2013 - 16:52

hocam şimdi www.asdad.com/images/ adresine girince resimlerin isimleri çıkıyor tıkladığımda açılıyor resim bu kısmında sorun yok ben web servisten .com/images/ klasörünü nasıl okuyabilirim sizce mesela streamreader flan okudum bu sefr list<> alamadım istediğim ordan isimleri okuyup bir list e doldurup app de list boxta göstermek streamreader falan ftp üzerinden isimleri aldık aralarında , olarak string halde verdi yani oda olmadı kısacası ben isimleri alıp list e doldurucam 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Görkem Çetin
15.11.2013 - 14:49

Eğer sistemin Linux ise ve web sunucu olarak Apache kullanıyor isen, Apache'nin varsayılan ayarları klasör içindeki dosyaları göstermeme yönündedir. Bu nedenle Apache httpd.conf dosyasına erişmen, ve/veya bir VPS kullanıyorsan arayüzden klasör içeriğini göstermeye yönelik ayarları açman gerekir. Apache web sayfasında da konuyla ilgili bir doküman var. Mehmet'in yöntemini de kullanabilirsin, bu durumda index.html'in tüm dosyaları görüntülüyor olması gerekiyor.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Mehmet Altıparmak
15.11.2013 - 09:05

Merhaba Serdar,

Bahsettiğin web sitesi göstermek istediğin tüm resimleri herhangi bir sayfada listeliyor mu? Ya da link sağlıyor mu? Eğer bunu yapıyorsa bir http get isteği ile sayfanın html'ini çekebilir daha sonra da bu html içerisinden resim linklerini extract edip uygulamanda gösterebilirsin. 

Aksi takdirde web servisi güncelleyip sana resim linklerini dönen bir fonksiyon eklemen gerekiyor bence. 

 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.