Çalışma Dosyasını indirmek için tıklayın | Demoyu İncelemek İçin TıklayınGmail kullananlar bilir, bir dosya yükleyeceğiniz zaman yüklersiniz otomatik olarak gelir kb bazında bilgisi yazar, linki gelir ekrana. Sonra bir tane daha eklersin, bir tane daha ve bir tane daha…İşte burda da yapacağımız şey ajax mantığıyle bir dosyayı sayfa yenilemenden yüklemek. Bu scripti yaklaşık 5-6 ay önce yapmıştım. Çevrede hiç asp için ajax dosya yüklemesi bulamamıştım 🙂 Sistemde de Ajax´ın iframe tekniği kullanarak post ettiğimiz multipart veriyi gözükmeyen bir iframe içinde isleme alınması mantığıyla çalışan ufak bir script. Yani Gözükmeyen derken ajax ajaxdır değilmi :)Evet kodlarımıza Başlayalımİlk önce Default.asp, Head tagı içine ilk önce bu satıları yazalım.

Daha sonra Body tag´ımız geliyor. Şunları yazıyoruz.

Dosya Seçin:
Gönderilen Toplam Form Sayısı: 0
En Son Yüklenen Dosya:



Default.asp dosyamız buraya kadar. Şimdi sırada http://arsiv.pilli.com/webtoolkit.aim.js javascript dosyamız var.AIM = {frame : function(c) {var n = ‘f’ + Math.floor(Math.random() * 99999);var d = document.createElement(‘DIV’);d.innerHTML = ‘‘;document.body.appendChild(d);var i = document.getElementById(n);if (c && typeof(c.onComplete) == ‘function’) {i.onComplete = c.onComplete;}return n;},form : function(f, name) {f.setAttribute(‘target’, name);},submit : function(f, c) {AIM.form(f, AIM.frame(c));if (c && typeof(c.onStart) == ‘function’) {return c.onStart();} else {return true;}},loaded : function(id) {var i = document.getElementById(id);if (i.contentDocument) {var d = i.contentDocument;} else if (i.contentWindow) {var d = i.contentWindow.document;} else {var d = window.frames[id].document;}if (d.location.href == “http://arsiv.pilli.com/about:blank”) {return;}if (typeof(i.onComplete) == ‘function’) {i.onComplete(d.body.innerHTML);}}}
ve Son olarak Resimimizi upload edecek olan islem.asp dosyamız var.<%response.charset="windows-1254"PID = request.QueryString("ID")Server.ScriptTimeout = 500000Function kod( nNoChars, sValidChars )Const szDefault = "abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVXYZ0123456789"Dim nCountDim sRetDim nNumberDim nLengthRandomizeIf sValidChars = "" ThensValidChars = szDefaultEnd IfnLength = Len( sValidChars )For nCount = 1 To nNoCharsnNumber = Int((nLength * Rnd) + 1)sRet = sRet & Mid( sValidChars, nNumber, 1 )Nextkod = sRetEnd Functionkodd = "Badursun" + kod( 35, "" )Set Upload = Server.CreateObject("Persits.Upload" )Upload.CodePage = 65001Upload.OverwriteFiles = FalseUpload.ProgressID = PIDYol = Server.MapPath("chunk/cop" )&"/"Upload.IgnoreNoPost = TrueUpload.OverwriteFiles = FalseYeniDosya = session.sessionID& "_" &koddUpload.Save(yol)For Each File in Upload.FilesFile.Move Yol & YeniDosya & File.Extresim_adi = yenidosya & File.Ext'Conn.Execute("UPDATE veya INSERT INTO tabloadi") 'veritabanına yazmak için burayi düzenleyiniz ihtiyacınız olursa...Set Jpeg = Server.CreateObject("Persits.Jpeg")Path = Server.MapPath("chunk/cop/"&resim_adi&"")Jpeg.Open PathJpeg.Width = 150 ' 150px e Genişliği Eşitlejpeg.Height = jpeg.OriginalHeight * jpeg.Width / jpeg.OriginalWidthJpeg.Canvas.Brush.Solid = FalseJpeg.Save Server.MapPath("chunk/"&resim_adi&"")Set fso = CreateObject("Scripting.FileSystemObject" )fso.DeleteFile(Server.MapPath("chunk/cop/"& resim_adi &""))Set Fso = NothingNextResponse.Write "Yüklenen Dosyayı Açmak İçin Tıklayın
Response.End()%>

islem.asp üzerinde oynayarak, sadece fotograf değil, herhangibir dosya yüklenmesini de sağlayabilirsiniz. Bunun için sadece aspjpeg componentini iptal edip, kayıt yerini değiştirmeniz gerekmektedir. Scriptin çalışması için de chunk klasörüne full yazma ve silme izni vermeniz gerekmektedir.Çalışma Dosyasını indirmek için tıklayın | Demoyu İncelemek İçin Tıklayın