17/03/2018, 04:56
Herkese merhaba;
"Şuradaki uygulamdan ne farkı var ki bir daha yükledin" diyebilirsiniz. Biraz farkı var
Bu sefer biraz detaylı anlatıcam affınıza sığınarak.
Bu resim yükleme-gösterme ile kafayı bozmuş falan değilim Çoğumuzun başına muhakkak geliyordur. Bir veritabanına çoklu erişim ihtiyacı olunca, server kullanımı kaçınılmaz oluyor. Hatta tabloları MsSql ya da MySql'de tutmak bunların başında geliyor.
Benim gibi C#, Python ya da başka bir dili öğrenmek isteyipte zamanı olmayan "amaaan arayüzü Access te yapar geçerim" diyen arkadaşlarım da vardır muhakkak Keşke baştan access'e bulaşmasaydın diyenler de var illaki ama işlerin bu boyuta geleceğini maalesef bilemezdik. Yine de Access candır
Her neyse... Uygulamaya geleyim hemen...
Local için düşünülmüş stok, cari, fatura, ürün fotoları vs olan bir uygulamanın, artık server üzerinde ve MySql ile tutulması gerektiğini düşünün. En büyük sorun, ürün fotolarının server üzerine aktarılması olmazmıydı sizce? Bence öyle oldu. Veri tabanını MySql üzerinde tutmak, Access ile baya yavaş olsa da, aynı veritabanına başka uygulamaların erişilecek olması bu yavaşlığa sabır etme sebatını veriyor maalesef. Php, Swift ve Android aynı veritabanını erişecek. Dediğim gibi keşke C# ile arayüz yapabilseydim
Yukarıdaki linke birkaç gün önce, ftp üzerine klasör açıp fotoları yükleyen bir örnek eklemiştim. Ancak o örnek fotoları localden gösteriyordu. Şimdi server üzerine yüklediğiniz fotolar, url üzerinden ie catch belleğine kaydedilerek gösteriliyor. Ne alaka, ne farkedecek ki??? Şu farkeder; Access ile yapılmış bu arayüzün tablolarının MySql ile tutulduğunu, 1000 km uzaktaki başka bir bilgisayarda da aynı arayüzün olduğunu ve onun da fotoları görmesi gerektiğini düşünün!!! Foto'nun Url'si varsa, Access onu bulunduğu bilgisayarın catch belleğine alıp size gösterecek... Raporlar için de tüm uzak bilgisayarlar aynı url'yi kullanarak kendi catch belleklerinden fotoları kullanacak. Tarayıcının catch belleğini temizleseniz bile, formu aktif hale getirdiğinizde, fotolar tek tek catch'e alınıp gösterilecek.
Biraz aceleye geldiği için ufak tefek eksiklikleri var... Örneğin resim server üzerine yüklendikten sonra anında görüntüyü alamadım. Kaydı ileri geri yaparak, formu yeniden açarak ya da Requery yaparak görüyorsunuz. Requery yapınca da kaydın başına gidiyor. (Bu örnek uygulama için) Bir kaç deneme yaptım ama bu formda düzeltemedim. Daha basit bir örnekte halletmiştim oysa... Kodların karışıklığında kaybolmuş olabilirim, kusura bakmayın.
Uygulamadaki sunucu formuna sunucu bilgilerinizi giriniz. Sunucunuzun kök klasörü altında açılmasını istediğiniz alt klasör yolunu da giriniz.
(public_html den sonra açılacak olan klasör, "katalog_resimleri" gibi) Sonra da bilgiler formundan önce ürün bilgilerini girip sonra resim yükle ile resmi yükleyiniz.
(Mesela şimdi aklıma geldi, bu alt klasör yolu girilmeden boş bırakılırsa oluşacak hatalar için bir önlem almadım...)
Sil butonu hem localden, hem de server üzerinden resmi siler.
Local'de current directory üzerinde resimler tutulmadan da yapılabilir tabi ki ama onları temizleyecek vaktim olmadı...
Ama tekrar belirtmekte fayda var, her ne kadar current directory üzerine fotolar kaydedilse de, image gösterimi url üzerinden olmakta.
Bu kadar basit bir uygulama için çok şey yazdım sanıyorum. Kusuruma bakmayın...
Belki biyerlerde bu kodlar işinize yarar.
**Sunucu üzerinde klasör açma olayındaki desteğinden dolayı ozanakkaya hocama tekrar sonsuz teşekkürlerimi iletiyorum.
Herkese iyi forumlar...
"Şuradaki uygulamdan ne farkı var ki bir daha yükledin" diyebilirsiniz. Biraz farkı var
Bu sefer biraz detaylı anlatıcam affınıza sığınarak.
Bu resim yükleme-gösterme ile kafayı bozmuş falan değilim Çoğumuzun başına muhakkak geliyordur. Bir veritabanına çoklu erişim ihtiyacı olunca, server kullanımı kaçınılmaz oluyor. Hatta tabloları MsSql ya da MySql'de tutmak bunların başında geliyor.
Benim gibi C#, Python ya da başka bir dili öğrenmek isteyipte zamanı olmayan "amaaan arayüzü Access te yapar geçerim" diyen arkadaşlarım da vardır muhakkak Keşke baştan access'e bulaşmasaydın diyenler de var illaki ama işlerin bu boyuta geleceğini maalesef bilemezdik. Yine de Access candır
Her neyse... Uygulamaya geleyim hemen...
Local için düşünülmüş stok, cari, fatura, ürün fotoları vs olan bir uygulamanın, artık server üzerinde ve MySql ile tutulması gerektiğini düşünün. En büyük sorun, ürün fotolarının server üzerine aktarılması olmazmıydı sizce? Bence öyle oldu. Veri tabanını MySql üzerinde tutmak, Access ile baya yavaş olsa da, aynı veritabanına başka uygulamaların erişilecek olması bu yavaşlığa sabır etme sebatını veriyor maalesef. Php, Swift ve Android aynı veritabanını erişecek. Dediğim gibi keşke C# ile arayüz yapabilseydim
Yukarıdaki linke birkaç gün önce, ftp üzerine klasör açıp fotoları yükleyen bir örnek eklemiştim. Ancak o örnek fotoları localden gösteriyordu. Şimdi server üzerine yüklediğiniz fotolar, url üzerinden ie catch belleğine kaydedilerek gösteriliyor. Ne alaka, ne farkedecek ki??? Şu farkeder; Access ile yapılmış bu arayüzün tablolarının MySql ile tutulduğunu, 1000 km uzaktaki başka bir bilgisayarda da aynı arayüzün olduğunu ve onun da fotoları görmesi gerektiğini düşünün!!! Foto'nun Url'si varsa, Access onu bulunduğu bilgisayarın catch belleğine alıp size gösterecek... Raporlar için de tüm uzak bilgisayarlar aynı url'yi kullanarak kendi catch belleklerinden fotoları kullanacak. Tarayıcının catch belleğini temizleseniz bile, formu aktif hale getirdiğinizde, fotolar tek tek catch'e alınıp gösterilecek.
Biraz aceleye geldiği için ufak tefek eksiklikleri var... Örneğin resim server üzerine yüklendikten sonra anında görüntüyü alamadım. Kaydı ileri geri yaparak, formu yeniden açarak ya da Requery yaparak görüyorsunuz. Requery yapınca da kaydın başına gidiyor. (Bu örnek uygulama için) Bir kaç deneme yaptım ama bu formda düzeltemedim. Daha basit bir örnekte halletmiştim oysa... Kodların karışıklığında kaybolmuş olabilirim, kusura bakmayın.
Uygulamadaki sunucu formuna sunucu bilgilerinizi giriniz. Sunucunuzun kök klasörü altında açılmasını istediğiniz alt klasör yolunu da giriniz.
(public_html den sonra açılacak olan klasör, "katalog_resimleri" gibi) Sonra da bilgiler formundan önce ürün bilgilerini girip sonra resim yükle ile resmi yükleyiniz.
(Mesela şimdi aklıma geldi, bu alt klasör yolu girilmeden boş bırakılırsa oluşacak hatalar için bir önlem almadım...)
Sil butonu hem localden, hem de server üzerinden resmi siler.
Local'de current directory üzerinde resimler tutulmadan da yapılabilir tabi ki ama onları temizleyecek vaktim olmadı...
Ama tekrar belirtmekte fayda var, her ne kadar current directory üzerine fotolar kaydedilse de, image gösterimi url üzerinden olmakta.
Bu kadar basit bir uygulama için çok şey yazdım sanıyorum. Kusuruma bakmayın...
Belki biyerlerde bu kodlar işinize yarar.
**Sunucu üzerinde klasör açma olayındaki desteğinden dolayı ozanakkaya hocama tekrar sonsuz teşekkürlerimi iletiyorum.
Herkese iyi forumlar...