Jump to content

Asp .net Ile Dosya Gönderme (file Upload)


wmismail

Recommended Posts

Asp .NET ile Dosya Gönderme (File Upload)

Bu yazıda Asp .NET ile istemci tarafındaki bir dosyayı sunucuya nasıl gönderebileceğimizden bahsedeceğiz. Yazılımcılar için eskiden daha karmaşık olan birçok işi basitleştiren Asp .NET dosya gönderme işleminide birkaç satırdan oluşan kod yardımı ile gerçekleştirmemizi sağlıyor.

Dosya gönderme işlemi için öncelikle sayfamıza bir adet input kontrolü ve yükleme işlemini başlatacak olan bir buton ekliyoruz. Input kontrolünde dikkat etmemiz gereken nokta ise kontrol tipinin file olarak belirtilmiş olmasıdır.

<input type="file" id="File1" name="File1" runat="server" />
<asp:Button ID="btnYukle" runat="server" Text="Yükle" />[/CODE]

Butona bastığımızda dosya gönderme işlemini gerçekleştirecek olan kodlar:

[CODE]if (File1.PostedFile.ContentLength > 0)
{
string strDosyaAdi = System.IO.Path.GetFileName(File1.PostedFile.FileName);
string strKayitYeri = Server.MapPath("Dosyalar/") + strDosyaAdi;

try
{
File1.PostedFile.SaveAs(strKayitYeri);
}
catch (Exception ex)
{
}
}[/CODE]

Kodumuzu inceleyecek olursak; ilk önce gönderilecek dosyanın var olup olmadığını ContentLength metodu ile kontrol ediyoruz. Eğer gönderilecek dosya mevcut ise strDosyaAdi isimli string tipte bir değişken tanımlıyor ve değişkene dosyanın ismini atıyoruz. Dikkat edersek değişkene atama yaparken dosyanın yolu ve adını değil GetFileName fonksiyonu ile sadece ismini atıyoruz.

İkinci bir değişken olarakda strKayitYeri değişkenini tanımlıyor ve değişkenimize dosyanın sunucu üzerinde kayıt edilmesini istediğimiz klasörü ve dosya adınının atamasını yapıyoruz.

Son olarak olası bir hatayı yakalayabilmek için try-catch bloğu içerisinde File kontrolünün SaveAs metoduna parametre olarak strKayitYeri değişkenini aktarıyor ve dosya gönderme işlemini başlatmış oluyoruz.

Eğer sadece istediğimiz uzantıya sahip dosyaların gönderilmesini istersek birinci if bloğumuzun içerisinde başka bir if bloğu açarak aşağıdaki gibi kontrol edebiliriz.

[CODE]if (System.IO.Path.GetExtension(strDosyaAdi.ToLower()) == "jpg")
{
}[/CODE]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...