ASP konusunda en sık sorulan sorulardandı Upload yani dosya yükleme işleminin nasıl yapılacağı. ASP.NET geliştirilirken üzerinde durulan sorulardan en önemlisi şu idi: "Yazılım geliştiriciler ASP'de neyi en sık kullandılar ve bunu yaparken ASP belirli noktalarda yetersiz kaldı?" Bu soruya verilebilecek en somut yanıtlardan biriydi upload. Ve artık Upload ASP.NET içerisinde bütünleşik geldi. Aşağıdaki kod örneği C# ile yazılmıştır, istenirse VB.NET'e çevirmek de oldukça kolay. İsterseniz koda genel bir göz atalım ardından makaleye devam edelim:
<%@Page Language="C#"%>
<Html>
<head>
<title>ASP.NET ile Upload İşlemi</title>
</head>
<body>
<script language="C#" runat="Server">
void DosyaUpload(object Sender,EventArgs E)
{
if (dosya.PostedFile !=null) //Dosyanın kontrolü
{
string DosyaAdi = Dosya.PostedFile.FileName.Substring(File1.PostedFile.FileName.LastIndexOf("\\") + 1) ;
string DosyaTipi = Dosya.PostedFile.ContentType ;
int DosyaBoyutu =Dosya.PostedFile.ContentLength;
if (DosyaBoyutu <=0)
Response.Write("Hatalı dosya, upload yapılamadı: " + DosyaAdi);
else
{
Dosya.PostedFile.SaveAs(Server.MapPath(".\\" + DosyaAdi));
Response.Write( DosyaAdi + " isimli " + DosyaTipi + " dosya tipindeki " + DosyaBoyutu.ToString() + " byte dosya boyutuna sahip dosya başarıyla upload edilmiştir.");
}
}
}
</script>
<%if(!Page.IsPostBack)
{
%>
ASPnedir?com ASP.NET ile Dosya Upload İşlemleri<br><br>
<form id="nedirupload" name="nedirupload" method="post" enctype="multipart/form-data" runat="server">
Dosyayı seçiniz: <input type="file" id="dosya" name="dosya" runat="server">
<br><br>
<asp:button value="Upload" runat="server" id="UploadButonu" Text="Upload" onClick="DosyaUpload" />
</form><br><br>
Not: Upload İşlemi için işlem yapılan klasöre mutlaka write hakkı verilmelidir.
<%}%>
</body>
</Html>
Şimdi dikkatinizi çektiyse ilk defa sayfa çağırıldığında iki sunucu kontrolü aktif olacaktır. Birincisi input type=file diyoruz ama dikkat runat=server dediğime göre ve bir id verdiğime göre bu bir sunucu kontrolü artık. İkincisi ise ASP.NET ile gelen bir sunucu kontrolü olan asp:button kontrolü. onClick event'ine dikkat; sunucu tarafında gerçekleşiyor ve DosyaUpload isimli C# kodunu çağırıyor.
Koda bakacak olursanız sayfa ile çeşitli bilgi denetleme kontrolleri bulunmakta dosya olup olmadığını ve adını parse eden. Ardından tek yapmamız gereken ön sayfadan aldığımız id'si dosya olan nesnemizin özelliklerini kullanarak dosyayı almak ve sadece SaveAs methodunu çağırmak.
Unutmadan bu upload işleminin yapıldığı klasöre write hakkı verilmesi gerekmektedir.
Hiç yorum yok:
Yorum Gönder