İstanbul
+90 543 947 95 80
info@jeffbezosweb.com

Dosyaları Depolamak – SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma

Web Danışmanlık Hizmeti, Seo Hizmeti Al, Mobile Uygulama Yaptır, Back Link Satın Al, Blog Yazdırmak İstiyorum, Web Sitemi Tanıtmak İstiyorum, İngilizce Blog Yazdırmak İstiyorum, Makale YAZDIRMA siteleri, Parayla makale YAZDIRMA, Seo makale fiyatları, Sayfa başı yazı yazma ücreti, İngilizce makale yazdırma, Akademik makale YAZDIRMA, Makale Fiyatları 2022, Makale yazma, Blog Yazdırma, Tasarım Yaptırmak İstiyorum, Tüm bu hizmetlerimizden yararlanmak için mail kanalımızı veya sağ alt köşedeki Whatsapp tuşumuzu kullanabilirsiniz. info@jeffbezosweb.com

Dosyaları Depolamak – SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma

Mevcut Dosyaları Dönüştürme – SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma

Dosyaları Depolamak için Veritabanı Tablosu Oluşturma

SQL Server’ın ikili verileri depolayabilen üç alanı vardır: ikili, varbinary ve görüntü veri türleri. İkili ve varbinary veri türleri, char ve varchar veri türleri ile eşanlamlıdır: ikili sabit uzunluklu bir bayt dizisini depolar ve varbinary, değişken uzunluklu bir ikili diziyi depolar. Her iki veri türü de maksimum 8.000 bayta çıkar ve bu da onları nispeten küçük dosyalar için uygun hale getirir. Resim veri türü, üzerinde çalıştığınız tüm dosyalar için yeterli olması gereken 2 GB’a kadar dosya depolayabilir.

■Not : Görüntü veri türü yalnızca verileri depolar. Bir “dosyayı” bir veritabanına kaydettiğinizde, gerçekten sadece verileri dosyaya kaydetmiş olursunuz. Dosya adı, dosya öznitelikleri, oluşturucu, son değiştirilme tarihi vb. gibi diğer bilgiler bu verilerle birlikte kaydedilmez. Bu bilgileri saklamanız gerekiyorsa, veritabanındaki diğer alanlara yazdığınızdan emin olun.

Bu kitaptaki örnekler için, Dosyalar adında üç alanlı yeni bir tablo oluşturacaksınız: DosyaAdı, DosyaBoyutu ve DosyaVerileri. İsimleri amaçlarını oldukça açıklayıcı olmalıdır, bu yüzden fazla ayrıntıya girmeyeceğim. Listeleme, SQL tablosu ve birincil anahtar oluşturma komut dosyasıdır.

için örnek uygulama, önceden oluşturulmuş Dosyalar tablosuna sahip bir örnek veritabanı içerir. Bu veritabanını kullanmaktan çekinmeyin veya tablo oluşturma komut dosyasını kullanarak kendinizinkini oluşturun.

İstemciden Sunucuya Dosya Alma

Dosyaları sunucuya almak için istemci tarafında farklı bir şey yapmanız gerekmez. Bu nedenle, bölümün başlarında tekli ve çoklu dosya yüklemeleri hakkında öğrendiğiniz her şey hala geçerlidir. Tek bir dosyanın yüklenmesine izin vermek istiyorsanız FileUpload kontrolünü kullanın.

Birden çok dosya yüklemesine izin vermek istiyorsanız, dosya giriş öğelerini dinamik olarak oluşturmak için JavaScript’i kullanın. Elbette, arka plan kod dosyasının önemli ölçüde değişeceğini anlayın, çünkü verilerinizi kaydetmek için FileUpload denetimindeki SaveAs işlevini veya HttpPostedFile nesnesini artık kullanamazsınız, ancak yapmanız gerekenlere bir göz atacağız. sonraki.

Veritabanına Tek Bir Dosya Kaydetme

Bir dosyayı ister diske ister veritabanına kaydediyor olun, kullanıcılarınızın bir sayfadan yalnızca tek bir dosya yüklemesi gerekiyorsa bir FileUpload denetimi kullanmalısınız. Listeleme, dosya içeriğinin FileUpload kontrolünden nasıl alınacağını ve bunun bir veritabanına nasıl ekleneceğini gösterir.

Bir kullanıcı Yükle düğmesine tıkladığında, btnUpload_Click olay işleyicisi yürütülür. Amacı FileUploader denetimindeki dosyayı veritabanına kaydetmektir. Yöntem, kullanıcının bir dosya yükleyip yüklemediğini belirlemek için FileUploader denetiminin HasFile özelliğini kontrol ederek başlar.

Bu durumda, yöntem Data.GetConnection() yardımcı programı işlevini kullanarak yeni bir veritabanı bağlantısı edinir. Bu işlev, Web.config dosyasından “Veritabanı” bağlantı dizesini kullanarak bir SQL veritabanı bağlantısına bağlantı alır. Fonksiyonun kaynak koduna Apress Web sitesinin Kaynak Kodu alanından örnek uygulamada bakabilirsiniz.

Bir veritabanı bağlantısı kurduktan sonra yöntem, birden çok ifade içeren bir SQL komutu oluşturur. İlk ifade, varsa, mevcut dosya bilgilerini siler ve ikincisi, basit bir INSERT ifadesi kullanarak yeni dosya bilgilerini tabloya ekler. SQL deyimlerinin üç farklı parametre içerdiğine dikkat edin: @FileName, @FileSize ve @FileData. Ayrıca @FileName parametresinin iki yerde kullanıldığına dikkat edin: bir kez DELETE deyiminde ve bir kez INSERT deyiminde.

Parametreli komutu tanımladıktan sonra yöntem, Parameters AddWithValue işlevini kullanarak komut nesnesine parametreler ekler. Bu fonksiyon parametrenin adını ve parametre değerini kabul eder; gelen değere göre veri türünü otomatik olarak belirler. @FileName parametresi, FileUploader denetimindeki bir dize özelliğinde geçtiği için oldukça basittir.

Sıradaki @FileSize parametresidir. Dosya boyutunu FileUploader.FileContent.Length kullanarak belirleyebilirsiniz. FileUpload denetiminin FileContent özelliği, dosyayı içeren IO.Stream’e bir başvuru döndürür. Dosya verilerini akıştan temizlemeden, FileContent özelliğinden özellikleri güvenle okuyabilirsiniz. Dosya boyutunu belirlemek için FileUploader.FileBytes.Length kullanmayın.

Dikkat : FileBytes özelliğine ilk eriştiğinizde, tüm verileri FileContent IO.Stream’den temizler ve verileri içeren bir bayt dizisi döndürür. Bu, FileContent IO.Stream’i kullanılamaz durumda bırakır.

Bu nedenle, FileBytes özelliğine eriştikten sonra, geçerli verilere işaret etmek için artık FileBytes özelliğine veya FileContent özelliğine güvenemezsiniz. Ayrıca hata ayıklarken farenizi FileBytes özelliğinin üzerinde gezdirirken dikkatli olun çünkü bu aynı özelliğe kodda erişmek gibidir ve aynı kullanılamaz duruma neden olur.

Ve son olarak, @FileData parametresine sahipsiniz. Dosyanın içeriğini bu parametreye iletmeniz gerekir. Bunu yapmak için FileUpload denetiminin FileBytes özelliğini kullanın. FileBytes, dosya yüklemesinin içeriğini içeren bir bayt dizisi döndürür ve SQL’deki görüntü veri türüyle (aynı zamanda ikili ve değişken türlerle) eşleşir.

Veritabanını kapatmadan hemen önce yöntem, komut nesnesinde ExecuteNonQuery yöntemini çağırır. Bu, komut nesnesinin parametreleştirilmiş komut metnini ve sağladığınız parametre değerlerini kullanarak asıl komutu oluşturmasına neden olur. Daha sonra, çakışan herhangi bir dosyayı silen ve dosyanızı ve ilgili bilgileri ekleyen veritabanına karşı komutu yürütür.


Google Drive
Bulut depolama
Google bulut depolama
Google Drive Giriş
Google depolama alanı fiyatları
Google DEPOLAMA
drive.google.com tr
Bulut depolama Nedir


Birden Fazla Dosyayı Veritabanına Kaydetme

Tek bir dosya yüklemede olduğu gibi, bir veritabanına birden çok yüklemeyi işlemek için istemci tarafında hiçbir şeyi değiştirmeniz gerekmez. Aynı JavaScript’i aynı HTML ile kullanabilirsiniz, böylece kullanıcıların her zaman dosyalarını yüklemek için ihtiyaç duydukları kadar dosya girişi öğesine sahip olmaları garanti edilir. Listeleme’de, bu dosyaları FileUpload kontrolüne başvurmadan nasıl kaydedeceğinizi göreceksiniz.

Dosya yüklemeleriyle çalışırken ve FileUpload denetimini kullanmadığınızda, dosya yükleme öğelerini içeren forma enctype özniteliğini manuel olarak eklemeniz gerekir. Aksi takdirde, form dosyaları işlenmek üzere sunucuya geri göndermeyi bilmeyecek. Listelemede bu, Page_Load yönteminde halledilir.

Kullanıcı Yükle düğmesine tıkladığında, btnUpload_Click olay işleyicisi yürütülür. Bu yöntem, FileUpload denetimi kullanılmadan dosyaların veritabanına yüklenmesinden sorumludur. Request.Files koleksiyonundaki her HttpPostedFile üzerinden yinelenen bir For döngüsüyle başlar.

Bu döngü içinde yöntem, o anda işlenmekte olan HttpPostedFile’a bir başvuruyu tutmak için postFile adlı bir değişken tanımlar. Bu, kodun okunmasını kolaylaştırır çünkü dosyaya Request.Files(Index) olarak atıfta bulunmak daha zordur. Ardından, yöntem, boş olup olmadığını görmek için FileName özelliğini kontrol ederek, gönderilen Dosyanın gerçekten bir dosyaya sahip olup olmadığını kontrol eder. FileName özelliği boşsa dosya yoktur ve yöntem veritabanına herhangi bir şey eklemeye çalışmaz.

Kullanıcının gerçekten bir dosya yüklediğini belirledikten sonra, yöntemin dosya içeriğini içeren bir bayt dizisi oluşturması gerekir. HttpPostedFile nesnesinin FileUpload denetimi gibi bir ByteArray özelliği olmadığından, tek bir dosyayı bir veritabanına kaydetme ile birden çok dosyayı bir veritabanına kaydetme arasındaki en büyük farkı burada görürsünüz. Bunun yerine, dosya içeriğini içeren IO.Stream başvurusuna sahip bir InputStream özelliğine sahiptir.

İki şeyi gerçekleştirmek için InputStream’i kullanırsınız. İlk olarak, InputStream.Length kullanarak dosyanın ne kadar büyük olduğunu belirlemek için kullanırsınız. Bu, fileBytes bayt dizisini, tüm dosya verilerini barındırmaya yetecek kadar uzun olacak şekilde yeniden boyutlandırmanıza olanak tanır. Dosya içeriğini IO’dan aktarmak için InputStream.Read yöntemini de kullanırsınız.

Bir arabelleğe akış. Bu durumda, arabellek fileBytes’dir. Ayrıca, başlangıç ​​konumunu ve okuma uzunluğunu Read yöntemine iletmeniz gerekir. Dosya verilerinin başlangıcında başlamak istediğiniz için başlangıç ​​konumu 0’dır ve tüm akışı okumak istediğiniz için uzunluk InputStream.Length’dir. Read yöntemi yürütüldükten sonra fileBytes, tüm dosya verilerini içerir.

Dosya verilerini içeren bayt dizisi alındıktan sonra, yöntem Data.GetConnection() yardımcı program işlevini kullanarak bir veritabanı bağlantısı edinir. Daha sonra dosya adını silmek için parametreli bir SQL sorgusu oluşturur ve zaten varsa yüklenen dosyayı veritabanına ekler. Ardından, yöntem komut nesnesine uygun parametreleri ve parametre değerlerini ekler, veritabanını açar, sorguyu yürütür, veritabanını kapatır ve ardından bir sonraki dosyayı işlemeye devam eder.


Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır. 

1) Backlink Paketi  50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)


 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

× Bize Whatsapp'tan Ulaşın