Web Forms'ta dosya yükleme işlemi, kolay gibi görünse de birçok insan için zor olabilir Bu yazıda, adım adım yapmanız gerekenleri anlattık Siz de dosya yükleme işlemini hızlı ve sorunsuz bir şekilde gerçekleştirmek için yazımızı okuyun

Web Forms, web uygulamaları geliştirmek için kullanılan bir Microsoft teknolojisidir. Bu teknoloji sayesinde kullanıcıların web sayfasında bazı işlemleri gerçekleştirmesi sağlanabilir. Bir web uygulamasında dosya yükleme işlemi oldukça yaygın bir gereksinimdir. Bu makalede, Web Forms'ta dosya yükleme işlemlerinin nasıl yapıldığı anlatılmaktadır.
Dosya yükleme işlemi için Web Forms, FileUpload kontrolünü kullanmaktadır. Bu kontrol sayesinde kullanıcılar web sayfasına dosya yükleyebilirler. FileUpload kontrolü, bir web sayfasında yer alan öğeler arasında bulunabilir ve kullanıcıların yükleyebilecekleri dosya türlerini ve maksimum dosya boyutunu belirlemek için bazı ayarlar sağlar.
Web Forms'daki dosya yükleme işleminin adımları oldukça basittir. Öncelikle, FileUpload kontrolünün sayfada belirlenmiş ayarlarını belirlemelisiniz. Daha sonra, kullanıcının dosya yüklemesi için sayfayı post etmesini sağlamanız gerekiyor. Ardından, kontrolün post edilmiş olduğunu doğrulamalı ve dosyayı sunucuya yüklemelisiniz.
Web Forms'ta dosya yükleme işlemi sırasında kullanabileceğiniz daha fazla kontrol vardır. Örneğin, RequiredFieldValidator kontrolünü kullanarak kullanıcının bir dosya yüklemesi zorunlu hale getirebilirsiniz. Ayrıca, belirli dosya türlerinin yüklenmesini zorunlu hale getirmek için CustomValidator kontrolünü kullanabilirsiniz. Bu kontroller, dosya yükleme işlemi sırasında doğrulama yapmanızı sağlar.
FileUpload Kontrolü
Web Forms'ta dosya yükleme işlemlerinin gerçekleştirildiği kontrol olan FileUpload, kullanıcıların web uygulamasına herhangi bir dosya yüklemesine izin verir. Bu kontrolün özellikleri arasında, dosya türü, dosya boyutu sınırı, tekrar dosya adı gibi bir dizi özellik yer alır. Bu özellikler, dosya yükleme işlemine özelleştirilmiş bir yaklaşım sunar.
FileUpload kontrolü, sayfada yer alan diğer kontroller gibi kullanılabilir ve özelleştirilebilir. Kontrol ayarlarına erişmek için, ayarlıyoruz tekrar dosya adı, dosya boyutu sınırı ve izin verilen dosya formatlarını belirleyen özellikleri kullanabilirsiniz. FileUpload kontrolüne ayrıca kısa yollar da ekleyebilirsiniz, bu da kullanıcılara dosyalarını seçmeleri ve yüklemeleri için daha hızlı bir yol sunar.
- FileUpload kontrolü sayfadaki diğer kontrol öğeleriyle aynı konuma yerleştirilebilir.
- FileUpload kontrolünün temel özellikleri şunlardır:
- Dosya uzantısı
- Dosya boyutu sınırı
- Tekrar dosya adı
- SaveAs() yöntemi ile yüklenmiş dosyanın kaydedilmesi
FileUpload kontrolü, dosya yükleme işlemi için kullanılan en önemli kontrol öğesi olduğundan, doğru bir şekilde yapılandırılarak kullanılmalıdır. Bu kontrolün özelliklerinin nasıl kullanılacağına, kontrol ayarlarının nasıl yapılacağına ve dosya yükleme işleminin nasıl yapılacağına dair ayrıntılı bilgiye sahip olmak, bir web uygulamasında doğru bir şekilde dosya yükleme işleminin yapılmasına yardımcı olacaktır.
İşlemler
Dosya yükleme işlemi, FileUpload kontrolüyle gerçekleştirilir. Dosya yükleme işlemi için öncelikle bir FileUpload kontrolü oluşturmanız gerekiyor. Ardından, dosya yükleme işleminin kod tarafında gerçekleştirildiği bir event handler belirlenmelidir.
Kod kısmı için birkaç adım atılması gerekiyor. İlk adım olarak belirlediğimiz event handler metodu oluşturulmalıdır. Bu metot, dosya yükleme işleminin gerçekleştirileceği yerdir. Daha sonra, FileUpload kontrolüne erişim sağlanır. Bu erişim ile kontrol üzerinde işlem yapılabilir. Son olarak, yükleme işleminden sonra dosyanın kaydedileceği yer belirlenir. İşlem bu adımlardan sonra gerçekleştirilmiş olur.
Adım | Açıklama |
---|---|
1 | Event handler metodu oluşturmak. |
2 | FileUpload kontrolüne erişim sağlamak. |
3 | İşlemleri gerçekleştirmek ve dosya kaydetmek. |
Yukarıdaki adımların tamamını gerçekleştirdikten sonra dosya yükleme işlemi sorunsuz bir şekilde gerçekleştirilmiş olacaktır. Ancak, dosya yükleme işleminden önce bazı kontrollerin gerçekleştirilmesi gerekiyor. İsterseniz, RequiredFieldValidator ve CustomValidator kontrolü ile yükleme işlemi öncesinde ve sonrasında çeşitli kontroller yapabilirsiniz.
Kontrol Ayarları
FileUpload kontrolüne başarılı bir şekilde dosya yükleyebilmek için öncelikle kontrol ayarlarının doğru bir şekilde yapılandırılması gerekmektedir. Bu ayarları değiştirebilmek için öncelikle kontrolün bulunduğu sayfaya giriş yapılmalıdır.
FileUpload kontrolünün ayarlarına erişebilmek için kontrolün ismine tıklanması yeterlidir. Bu işlem sonrasında kontrol ayarları paneli ekrana gelecektir. Bu panele erişerek dosya yükleme işlemini hangi dosya boyutunda ve hangi dosya tiplerinde yapabileceğimize karar verebiliriz.
Ayar İsmi | Açıklama |
---|---|
MaxFileSize | Dosya boyut sınırlandırması yapmak için kullanılır. Örneğin, 1 MB sınırlandırması için MaxFileSize = 1048576 kullanılabilir. |
AllowedFileTypes | Yalnızca belirlenen dosya tiplerinin yüklenmesi için kullanılır. Dosya tipleri virgülle ayrılmalıdır. Örneğin, .jpg, .png dosya tipleri için AllowedFileTypes = "jpg,png" kullanılabilir. |
Yukarıda sayılan ayarlar, FileUpload kontrolündeki önemli ayarlar olmakla birlikte kullanıcının isteğine göre diğer ayarlar da değiştirilebilir. Ayar değişikliği yapıldıktan sonra bu ayarların kaydedilmesi için Save düğmesine tıklanmalıdır.
MaxFileSize Özelliği
FileUpload kontrolüyle birlikte kullanılan maxFileSize özelliği, yüklenmesine izin verilen dosya boyutunu belirler. Bu özelliği kullanarak, kullanıcıların belirtilen boyuttan daha büyük dosyalar yüklemesi engellenebilir.
Öncelikle, FileUpload kontrolüne maxFileSize özelliği eklenir. MaxFileSize özelliği, bayt cinsinden dosya boyutu sınırını tanımlar. Örneğin, 1 MB'lık bir dosya yüklenmesine izin vermek için maxFileSize özelliği değeri 1048576 bayt olmalıdır.
Bir diğer önemli not, maxFileSize özelliğinin sadece yüklenmek üzere seçilmiş dosyaları sınırlandırdığını unutmayın. Bu özellikle, sunucu tarafında dosya boyutu kontrolü yapmanın zorluğunu en aza indirgemek mümkündür.
Aşağıda maxFileSize özelliğinin nasıl uygulanacağına dair bir örnek kod parçası yer almaktadır:
<asp:FileUpload ID="FileUpload1" runat="server" /><asp:Button ID="Button1" runat="server" Text="Yükle" /><asp:Label ID="Label1" runat="server" /><%--Web.config dosyasında sınırlandırma özelliğinin tanımlanması--%><location path="WebForm1.aspx"> <system.web> <httpRuntime maxRequestLength="1024" /> </system.web></location>
Bu örnekte, maxFileSize özelliği, FileUpload kontrolüne eklenmiştir. Web.config dosyasında ise maxRequestLength
özelliği kullanılarak, yüklenmesi istenen dosya boyutunun sınırlandırılması sağlanmıştır.
maxFileSize özelliği, dosya yükleme işleminin kontrol altında tutulmasına yardımcı olur ve dosya boyutlarının öngörülemeyen sonuçlara yol açmasını önler.
AllowedFileTypes Özelliği
FileUpload kontrolü sayesinde kullanıcılar diledikleri dosyaları siteye yükleyebiliyorlar. Ancak bu kontrollerde yüklenmesine izin verilen dosya tipleri kontrol edilmediği takdirde, kullanıcılar istenmeyen dosyaları da yükleyebilirler. İşte bu noktada AllowedFileTypes özelliği devreye giriyor.
AllowedFileTypes özelliği, yalnızca belirlenen dosya tiplerinin yüklenebilmesini sağlar. Bu özellik sayesinde, güvenliğinizi korurken aynı zamanda istenmeyen dosyaların yüklenmesini de engelleyebilirsiniz. Peki, AllowedFileTypes özelliği nasıl kullanılır?
Öncelikle, FileUpload kontrolünün özellikleri kullanılarak AllowedFileTypes ayarlarına erişmeniz gerekir. Ardından, AllowedFileTypes özelliği belirli dosya tiplerinin yüklenmesine izin vermek için kullanılabilir.
Bunun için AllowedFileTypes=".jpg,.gif,.bmp" şeklinde bir ayarlama yapabilirsiniz. Bu örnekte sadece .jpg, .gif ve .bmp dosya tiplerinin yüklenmesine izin verilecektir. Eğer belirli bir dosya tipi yüklenmesine izin vermek istemiyorsanız, o dosya tipini liste dışında tutunuz.
Ayrıca, AllowedFileTypes özelliği kullanılarak dosya boyutu sınırlandırması da yapılabilir. Bu işlem için aşağıdaki kod kullanılabilir:
Kod | Açıklama |
---|---|
<asp:FileUpload ID="FileUpload1" runat="server" /> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="FileUpload1" ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.jpg|.JPG|.gif|.GIF|.png|.PNG|.bmp|.BMP)$" ErrorMessage="Sadece .jpg, .gif, .png, .bmp uzantılı resim dosyaları yükleyebilirsiniz!" /> | Bu kod, dosya yüklemeden önce .jpg, .gif, .png, .bmp uzantılı dosyaların yüklenmesine izin verir ve validation kontrolü vasıtası ile sadece belirlenen dosya tiplerinin yüklenmesine zorunluluk getirir. |
Bu özellikler yardımıyla, dosya yükleme işlemlerinde güvenliği sağlayabilir ve sadece görüntü, belge veya video dosyaları gibi belirli dosya tiplerinin yüklenmesine izin verebilirsiniz.
Dosya Yükleme İşlemi
Dosya yükleme işlemi, FileUpload kontrolü aracılığıyla gerçekleştirilir. Kullanıcının dosya yüklemesi için sayfaya FileUpload kontrolü eklenir. Kullanıcı "Gözat" butonuna tıklar, dosya seçim işlemini gerçekleştirir ve "Yükle" butonuna tıklar.
Bu işlem, POST isteği ile sunucuya gönderilen veriler arasında bir dosya yüklemesi olarak gerçekleştirilir. Yüklenen dosya, sunucunun belirlediği klasöre kaydedilir. Dosyanın yüklendiği yer ve dosya adı, kontrol aracılığıyla alınabilir.
Dosya yüklemesi işlemi, aşağıdaki adımlarla gerçekleştirilir:
- Kullanıcı "Gözat" butonuna tıklayarak, yüklenecek dosyayı seçer.
- "Yükle" butonuna tıklar.
- Dosya, POST isteği ile sunucuya gönderilir.
- Sunucu, gelen dosyayı belirlenen yere kaydeder.
- Bazı işlemlerden sonra kullanıcıya bir mesaj gösterilir ve işlem tamamlanır.
Dosya yükleme işlemi, FileUpload kontrolü özellikleri ile özelleştirilebilir. Dosya boyutu sınırlandırması, yalnızca belirli dosya türlerinin yüklenmesi veya dosya yüklemesi zorunlu hale getirilmesi gibi özellikler, kontrolün özellikleri aracılığıyla ayarlanabilir. Ayrıca, dosya yükleme işleminden önce ve sonra kullanılabilecek validation kontrolleri sayesinde, yüklenen dosyanın geçerliliği kontrol edilebilir.
Validation Kontrolleri
Dosya yükleme işlemi gerçekleştirilmeden önce ve sonra kullanılabilecek validation kontrolleri, kullanıcının dosya seçimini doğru bir şekilde yapmasını sağlamak için oldukça önemlidir.
RequiredFieldValidator kontrolü, dosya yükleme işleminin zorunlu hale getirilmesi için kullanılabilir. Bu kontrol, kullanıcının dosya seçiminde boş geçmesine izin vermez ve eğer boş ise hata mesajı gösterir.
CustomValidator kontrolü, belirli dosya tiplerinin yüklenmesini zorunlu kılmak için kullanılabilir. Bu kontrol, AllowedFileTypes özelliğinde belirtilen dosya tiplerinin dışındaki dosyaların yüklenmesini engeller ve hata mesajı gösterir.
Control | Açıklama |
---|---|
RequiredFieldValidator | Dosya yükleme işlemini zorunlu hale getirir. |
CustomValidator | Belirli dosya tiplerinin yüklenmesini zorunlu kılar. |
Validation kontrolleri, dosya yükleme işlemi sırasında ve sonrasında gerçekleştirilebilir. Kullanıcının yükleme işleminden önce doğru bir şekilde dosya seçimini yapması, işlemin başarılı bir şekilde tamamlanabilmesi için oldukça önemlidir.
RequiredFieldValidator
Web Forms'ta dosya yükleme işlemi gerçekleştirirken bazen kullanıcılardan dosya yükleme işlemini yapmaları istenirken, bazı durumlarda da bu zorunluluk duyulabilir. RequiredFieldValidator kontrolü sayesinde FileUpload kontrolüne dosya yüklemesi yapılması zorunlu hale getirilebilir.
RequiredFieldValidator kontrolü, dosya yükleme kontrolü olan FileUpload'ın kullanıldığı sayfaya eklenir. Kontrolün ErrorMessage özelliği, dosya yükleme zorunluluğu karşılanmadığı durumlarda görüntülenecek hatayı belirler.
Özellik | Açıklama |
ControlToValidate | Zorunluluğu istenen kontrol adını belirler. Burada FileUpload kontrolünün ID'si kullanılır. |
ErrorMessage | Dosya yükleme zorunluluğu karşılanmadığı durumlarda görüntülenecek hatayı belirler. |
Text | Kontrol yanındaki değeri belirler. |
Aşağıdaki örnek kodda, RequiredFieldValidator kontrolü kullanılarak FileUpload kontrolüne dosya yükleme zorunluluğu getiriliyor.
<asp:FileUpload ID="FileUpload1" runat="server" /><asp:RequiredFieldValidator ID="rfvFileUpload" runat="server" ControlToValidate="FileUpload1" ErrorMessage="Dosya yükleme zorunludur!" Text="*" />
CustomValidator
Web Forms'ta dosya yükleme işlemi yaparken, genellikle belirli dosya tiplerini yüklemeyi zorunlu hale getirmek isteyebilirsiniz. Bu durumda, CustomValidator kontrolü kullanılabilir. Bu kontrol, yükleme işlemi sırasında belirli bir şartın sağlanmasını kontrol eder ve kullanıcılara bu şart sağlanmadığında hata mesajı gösterir.
CustomValidator kontrolünü kullanmak için önce FileUpload kontrolü ile birlikte kullanılmalıdır. Bu kontrolün kullanımı oldukça basittir. Öncelikle sayfada bir CustomValidator kontrolü eklenir ve bu kontrolün ClientValidationFunction özelliği belirlenir.
Örneğin, yalnızca JPG dosyalarının yüklenmesini zorunlu hale getirmek için aşağıdaki gibi bir CustomValidator kontrolü kullanılabilir.
```html
Ardından, yükleme işlemi yaparken kullanıcının yüklemeye çalıştığı dosyanın türünü kontrol eden ve yalnızca JPG dosyalarının yüklenmesine izin veren bir method yazılır. Bu method, kontrolün OnServerValidate özelliği ile belirtilir.
```csharpprotected void ValidateImageType(object source, ServerValidateEventArgs args){ string fileExtension = Path.GetExtension(FileUpload1.FileName); if (fileExtension.ToLower() != ".jpg") { args.IsValid = false; } else { args.IsValid = true; }}```
Yukarıdaki kodda ValidateImageType methodu kontrolün OnServerValidate özelliği ile belirtilir. Bu method, yükleme sabit bir JPG dosyası değilse args.IsValid özelliğini false değerine, aksi takdirde true değerine ayarlar.
CustomValidator kontrolü sayesinde, belirli dosya tiplerinin yüklenmesini zorunlu hale getirebilirsiniz. Bu sayede, güvenliği arttırırken yüklenen dosyaların türü hakkında kontrol sağlayabilirsiniz.