• 03-12-2020, 02:14:21
    #10
    ibrahimcakal adlı üyeden alıntı: mesajı görüntüle
    Hocam siz 2 türlü de nasıl yapıldığını gönderebilirseniz çok makbule geçer. Normalde dosyaları genelde klasörde tutuyordum, veritabanına ilk defa kaydetme işlemi yapacağım için biraz takıldım. (Öncelik ajax hocam, çünkü tüm işlemleri ajax ile yaptım, bir tanesi farklı oldumu için rahat etmiyor. )
    Şimdiden teşekkürler.
    Hocam eğer yapabilirsen mantık böyle Tabi ben mvc codefirst birde katmanli mimarı kullanıyorum umarım işine yarar.









  • 03-12-2020, 02:16:20
    #11
    BestCoder adlı üyeden alıntı: mesajı görüntüle
    Temel olarak web yazılımlarını Client ve Server olmak üzere 2 farklı şekilde değerlendirmek gerekir. Burada her ne kadar siteyi/sistemi biz yazıyor, hatta kendimiz kullanıyor bile olsak; Gecko tabanlı (Chrome, FireFox, Edge) tarayıcılar son kullanıcıyı da düşünür, ve bilgisayarlarındaki klasör yapısının dışarı aktarılmasını veya bilgisayarındaki dosyalara direk erişimine izin vermezler. Bu yüzden dosyayı seçtiğinizde FakePath şeklinde bir dosya yolu görürsünüz.

    Resim, video ve müzik gibi dosyaları kesinlikle veritabanında saklamanızı önermem. Adı üzerinde veri tabanı; dosya sistemi değil. Tavsiyem herkesin yaptığı gibi, dosyayı sunucuda bir yere kaydedin, kaydettiğiniz yerin adresini veritabanında saklayın.

    İlla ki dosyaları veritabanında saklamak istiyorsanız, longtext türünde bir sütun açın, sunucuya gönderilen dosyayı da base64'e çevirerek veri tabanında saklayın. Tekrar okuduğunuzda ise base64'ten tekrar decode ederek baytları alın. Böylelikle herhangi bir karakter bozulması sorunuyla karşılaşmamış olursunuz.
    Hocam normalde bende klasör içerisinde tutuyorum dosyaları ama microsoft forum'da tartışma açmıştım bu konu ile ilgili, "Resimlerin nerede saklanacağı konusuna gelirsek, bence bu veritabanı olmalı. " şeklinde bir yorum aldım.
    Daha sonra araştırdığımda birde şöyle bir kaynak daha bulmuştumı. >>> https://docs.microsoft.com/en-us/sql...0file%20system.
    Birde merak ettim açıkcası, hiç veritabanında dosya saklamadım bu zamana kadar, denemek istedim.
  • 03-12-2020, 02:22:52
    #12
    NuhYilmaz adlı üyeden alıntı: mesajı görüntüle
    Hocam eğer yapabilirsen mantık böyle Tabi ben mvc codefirst birde katmanli mimarı kullanıyorum umarım işine yarar.









    Yok hocam bu attığınız ajax ile veri gönderme değil, html.beginform ile submit yapılmış.
  • 03-12-2020, 02:33:07
    #13
    ibrahimcakal adlı üyeden alıntı: mesajı görüntüle
    Hocam normalde bende klasör içerisinde tutuyorum dosyaları ama microsoft forum'da tartışma açmıştım bu konu ile ilgili, "Resimlerin nerede saklanacağı konusuna gelirsek, bence bu veritabanı olmalı. " şeklinde bir yorum aldım.
    Daha sonra araştırdığımda birde şöyle bir kaynak daha bulmuştumı. >>> https://docs.microsoft.com/en-us/sql...0file%20system.
    Resimlerin saklanacağı yer tamamen projeye göre değişlik gösteren bir durum.
    Örneğin; resimler sadece kullanıcının profil resmi olan bir sistem hazırlıyorsanız veritabanında saklamak iyi bir alternatif olabilir.
    Fakat yüzlerce kullanıcısı olan, her kullanıcısının sürekli resim yüklediği bir sistemde resimleri veritabanında saklamak boşa tüketilen CPU ve RAM demektir.
    Optimize edilmeden yapılacak basit bir arama bile RAM'e yüzlerce MB verinin yüklenmesine sebep olacak.
    Daha düşük yatırım maliyeti ile hayata geçirilebilecek bir proje için, CPU ve RAM yetmediği için bir süre sonra daha yüksek maliyetli bir yatırım yapmak zorunda kalınacaktır. Eğer bunlar problem oluşturmaz diyorsanız, elbette veritabanında dosya saklanabilir.
  • 03-12-2020, 02:42:19
    #14
    BestCoder adlı üyeden alıntı: mesajı görüntüle
    Resimlerin saklanacağı yer tamamen projeye göre değişlik gösteren bir durum.
    Örneğin; resimler sadece kullanıcının profil resmi olan bir sistem hazırlıyorsanız veritabanında saklamak iyi bir alternatif olabilir.
    Fakat yüzlerce kullanıcısı olan, her kullanıcısının sürekli resim yüklediği bir sistemde resimleri veritabanında saklamak boşa tüketilen CPU ve RAM demektir.
    Optimize edilmeden yapılacak basit bir arama bile RAM'e yüzlerce MB verinin yüklenmesine sebep olacak.
    Daha düşük yatırım maliyeti ile hayata geçirilebilecek bir proje için, CPU ve RAM yetmediği için bir süre sonra daha yüksek maliyetli bir yatırım yapmak zorunda kalınacaktır. Eğer bunlar problem oluşturmaz diyorsanız, elbette veritabanında dosya saklanabilir.
    Aynen öyle, yorumunuz için teşekkür ederim. ☺
    Peki soruyla ilgili bir bilginiz varmı, bu konuda yardımcı olabilir misiniz?
  • 03-12-2020, 11:43:29
    #15
    ibrahimcakal adlı üyeden alıntı: mesajı görüntüle
    Aynen öyle, yorumunuz için teşekkür ederim. ☺
    Peki soruyla ilgili bir bilginiz varmı, bu konuda yardımcı olabilir misiniz?
    Konuyu tam takip etmedim ama, dosyanın adını action da alabilirsin.
    Action'a (HttpPostedFileBase file) şeklinde bir paremetre verirsen, file parametresini actionun içinde kullanabilirsin.

    Özetle HttpPostedFileBase sınıfından yürüyebilrisin.
  • 03-12-2020, 11:54:08
    #16
    Teşekkürler.
    Problemi çözdüm. Yolu almaya çalışmam hataymiş. Dediginiz gibi direk dosyayı actiona gonderip byte çevirmem gerekiyormuş. ☺