Asp.Net web uygulamanızda kullanmak üzere basit ve anlaşılır bir File Upload kontrolü istiyorsunuz.Bu sayede kullanıcılarınız uygulama dizininize istedikleri dosyalarını post edebilecekler.
Bu konu ilginizi çekiyorsa yazının devamında File Uplading kontrolünü bir kaç adımda uygulamanıza dahil edebilirsiniz.Fakat hemen söylemeliyim ki bu yöntem Visual Basic kodları içerir ve sadece Asp veya Asp.Net web uygulamalarında kullanılabilir.
Öncelikle bir kaç hatırlatma !
Eğer File Uploading (dosya yükleme) aracını kullanıcınızın yükleyeceği resimler için düşünüyorsanız.Benzer bir yazımda Asp.Net resimleri veritabanına kaydetmek konusundaki yazımı önerebilirim.Bu yöntem resim türündeki dosyalar için daha akıllıca bir yöntemdir.
Şimdiki yazımda ise IIS üzerinde olan, yani web uygulamanızın dizininde olan fiziksel bir klasöre dosya alma işlemidir.Bu tipte bir işlemi ofis dosyaları,sunum dosyaları gibi kullanıcıya tekrar sunabileceğiniz bir düzenekte yapıyoruz.Devam blogta Upload işlemi gibi Download edilebilir bir uygulama hazırlamış olacağız.
Web2 ye göre anlatağım ilk File Uploading biraz daha eski bir yöntem olsada denemelerim bu yöntemin daha tutarlı olduğunu gösterdi, kullandığım bu basit kod aşağıdaki şekildedir.
1-
• Visual Basic Kod içeriği
<!-- VB Kod-->
<script language="VB" runat=server>
Sub DoUpload(ByVal Sender As Object, ByVal e As System.EventArgs)
Dim sPath As String
Dim sFile As String
Dim sFullPath As String
Dim sSplit() As String
Dim sPathFriendly As String
sPath = Server.MapPath("..\..\..\App_Documents")
If Right(sPath, 1) <> "\\" Then
sPathFriendly = sPath
sPath = sPath & "\\"
Else
sPathFriendly = Left(sPath, Len(sPath) - 1)
End If
sFile = txtUpload.PostedFile.FileName
sSplit = Split(sFile, "\\")
sFile = sSplit(UBound(sSplit))
sFullPath = sPath & sFile
Try
txtUpload.PostedFile.SaveAs(sFullPath)
lblResults.Text = "[ OK ] DOSYA " & sFile & " DOSYANIZ ALINDI. . ."
Catch Ex As Exception
lblResults.Text = "[ X ] SORUN " & sFile & " OLUŞTU VE DOSYA EKLENEMEDİ. . . "
Finally
lblResults.Font.Bold = True
lblResults.Visible = True
End Try
End Sub
</script>
<!--VB Kod-->
Yukarıda dikkat etmeniz gereken detaylara gelirsek
DoUpload oluşturacağınız formdaki dosya ekleme butonunuzun ismi olacaktır.
Server.MapPath uygulama dizininizin yerini belirleyecek.
txtUpload. File Uplading kontrolünüzün ismi olacak.
lblResults.Text Dosya yükleme işleminizin sonuc uyarısını verecektir.
Diğer bir önemli nokta ise bu VB script <head> tagları arasında kullanabildiğiniz gibi eğer dilerseniz DoUpload ismi ile oluşturacağınız formun Page Event kısmındada kolaylıkla kullabilirsiniz.
2-
Yukarıdaki bu işlemden sonra artık File Uploading aracımızın bulunduğu formuda web uygulamamıza yerleştirmeliyiz.Formumuz kısaca File Uploading aracı ve Dosya Ekle adında birde Button ' a sahip olacaktır.Yani aşağıdaki gibi bir form şimdilik yeterlidir...
<!-- Form -->
<panel id="SerkanSenyuz" enctype="multipart/form-data" runat=server>
<input id="txtUpload" type=file runat=server>
<asp:button id=btnUpload Text="Dosya Ekle" OnClick="DoUpload" runat=server/>
<asp:label id="lblResults" Visible=false runat=server" />
</panel>
<!-- Form -->
Eğer şuana kadar herşey yolunda gitmişse artık uygulamanızda bulunan (örneğin; App_Documents) bir klasöre dosya gönderebilirsiniz...
Bu konu ilginizi çekiyorsa yazının devamında File Uplading kontrolünü bir kaç adımda uygulamanıza dahil edebilirsiniz.Fakat hemen söylemeliyim ki bu yöntem Visual Basic kodları içerir ve sadece Asp veya Asp.Net web uygulamalarında kullanılabilir.
Öncelikle bir kaç hatırlatma !
Eğer File Uploading (dosya yükleme) aracını kullanıcınızın yükleyeceği resimler için düşünüyorsanız.Benzer bir yazımda Asp.Net resimleri veritabanına kaydetmek konusundaki yazımı önerebilirim.Bu yöntem resim türündeki dosyalar için daha akıllıca bir yöntemdir.
Şimdiki yazımda ise IIS üzerinde olan, yani web uygulamanızın dizininde olan fiziksel bir klasöre dosya alma işlemidir.Bu tipte bir işlemi ofis dosyaları,sunum dosyaları gibi kullanıcıya tekrar sunabileceğiniz bir düzenekte yapıyoruz.Devam blogta Upload işlemi gibi Download edilebilir bir uygulama hazırlamış olacağız.
Web2 ye göre anlatağım ilk File Uploading biraz daha eski bir yöntem olsada denemelerim bu yöntemin daha tutarlı olduğunu gösterdi, kullandığım bu basit kod aşağıdaki şekildedir.
1-
• Visual Basic Kod içeriği
<!-- VB Kod-->
<script language="VB" runat=server>
Sub DoUpload(ByVal Sender As Object, ByVal e As System.EventArgs)
Dim sPath As String
Dim sFile As String
Dim sFullPath As String
Dim sSplit() As String
Dim sPathFriendly As String
sPath = Server.MapPath("..\..\..\App_Documents")
If Right(sPath, 1) <> "\\" Then
sPathFriendly = sPath
sPath = sPath & "\\"
Else
sPathFriendly = Left(sPath, Len(sPath) - 1)
End If
sFile = txtUpload.PostedFile.FileName
sSplit = Split(sFile, "\\")
sFile = sSplit(UBound(sSplit))
sFullPath = sPath & sFile
Try
txtUpload.PostedFile.SaveAs(sFullPath)
lblResults.Text = "[ OK ] DOSYA " & sFile & " DOSYANIZ ALINDI. . ."
Catch Ex As Exception
lblResults.Text = "[ X ] SORUN " & sFile & " OLUŞTU VE DOSYA EKLENEMEDİ. . . "
Finally
lblResults.Font.Bold = True
lblResults.Visible = True
End Try
End Sub
</script>
<!--VB Kod-->
Yukarıda dikkat etmeniz gereken detaylara gelirsek
DoUpload oluşturacağınız formdaki dosya ekleme butonunuzun ismi olacaktır.
Server.MapPath uygulama dizininizin yerini belirleyecek.
txtUpload. File Uplading kontrolünüzün ismi olacak.
lblResults.Text Dosya yükleme işleminizin sonuc uyarısını verecektir.
Diğer bir önemli nokta ise bu VB script <head> tagları arasında kullanabildiğiniz gibi eğer dilerseniz DoUpload ismi ile oluşturacağınız formun Page Event kısmındada kolaylıkla kullabilirsiniz.
2-
Yukarıdaki bu işlemden sonra artık File Uploading aracımızın bulunduğu formuda web uygulamamıza yerleştirmeliyiz.Formumuz kısaca File Uploading aracı ve Dosya Ekle adında birde Button ' a sahip olacaktır.Yani aşağıdaki gibi bir form şimdilik yeterlidir...
<!-- Form -->
<panel id="SerkanSenyuz" enctype="multipart/form-data" runat=server>
<input id="txtUpload" type=file runat=server>
<asp:button id=btnUpload Text="Dosya Ekle" OnClick="DoUpload" runat=server/>
<asp:label id="lblResults" Visible=false runat=server" />
</panel>
<!-- Form -->
Eğer şuana kadar herşey yolunda gitmişse artık uygulamanızda bulunan (örneğin; App_Documents) bir klasöre dosya gönderebilirsiniz...
Bu Yazının Sponsorları
Yorumlar
Yorum Gönder