TurkProgrammers.NeT
Ana sayfa Ana Sayfa | Ana sayfanız yapın | Sık kullanılanlara ekle | Rss/Rdf Besleme| JavaScript
Bölümler
Arşiv
paz sa ça cu cum pa
1234
567891011
12131415161718
19202122232425
262728293031

Mailinizi ekleyin
Haberlere abone olun:

anket: Web Programcılığının Geleceğini nasıl görüyorsunuz
Web Programcılığının Geleceğini nasıl görüyorsunuz?
Önü Fazlası ile açık
ilerde yapacak web sitesi kalmayacak
Hazır sistemler işleri iyice bitirecek
Bugünden daha kötü olamaz
Anket sonuçları | Eski Anketler


email Arkadaşınızın maili | print Yazıcı versionu | comment Yanıtlar (0 Gönder)

ASP FSO ile Component Kullanmadan File Uploading Örneği

by Mr. CanaWar on Temmuz 29,2007

image

Ve sonunda fso ile upload işini öğrendim. Ve forumda da yazdığım üzere öğrenince buraya da nasıl yaptığımı yazacaktım. Basit bir örnek bulamadım. Ama bu da hoş. Class ile yapılmış bir upload uygulaması. Dosyalardan birinin ne işe yaradığını anlayamadım, oldukça karmaşık. Ama çözebildiğim kadarıyla aktarmaya çalışacağım:

Sistemimiz 4 dosyadan oluşuyor. Biri upload formu (insert.htm), biri işi yapan include dosyası (loader.asp), biri loader.asp yi barındıran ve iş yapan bir dosya daha (insert.asp), ve belirtilen dizindeki dosyaları gösteren dosya (show.asp).

Sistemin örneğini www.bilimvefelsefe.net adresinde görebilirsiniz. Ancak üzülerek söylüyorum ki bu iş için üye olmak zorundasınız. Ve o da mail check falan olduğu için zahmetli bir iş! Keşke böyle bir zorunluluğumuz olmasaydı. Neyse...

Şöyle açıklıyorum:

insert.htm

Bu dosyamız çok basit bir form. İki adet form field ve bir submit butonumuz var. Burada önemli olan tek şey formun tipi

insert.asp

Bu dosya işi yapan ön plandaki dosya. Burada da birkaç önemli nokta var o kadar:

1. Response.Buffer=True olmalı.
2. Loader.asp include edilmiş olmalı.

Şimdi bu sayfada dosyayı upload ettiğiniz zaman dosya ile ilgili bazı bilgiler alıyorsunuz, onları açıklayayım.

fileData = load.getFileData(file )
Bu değişken, dosyamız, binary olarak.

fileName = LCase(load.getFileName(file ))
Bu değişken dosyamızın adı.

filePath = load.getFilePath(file )
Bu değişken dosyamızın kendi bilgisayarımızdaki yolu.

filePathComplete = load.getFilePathComplete(file )
Bu da tam yolu. Yani yolun ve dosya adının birleşmiş hali.

fileSize = load.getFileSize(file )
Dosyanın Byte cinsinden boyutu.

fileSizeTranslated = load.getFileSizeTranslated(file )
Dosyanın KByte cinsinden boyutu.

contentType = load.getContentType(file )
Dosyanın türü.

countElements = load.Count
Bilmiyorum.

nameInput = load.getValue(name )
Bu değişken dosyayı upload ederken kullandığımız Açıklama olabilir, ad olabilir, bende Makale Başlığı mesela, böyle bir form field. Bu neden burada? Çünkü BinaryRead ve Request.Form bir arada kullanılamıyor! Loader.asp adlı dosyanın içinde getValue diye bir fonksiyonumuz var. Bu fonksiyon form elemanlarını okuyabilmemizi sağlıyor. Nerede işimize yarayabilir? Dosya ile ilgili bilgileri veritabanında tutabiliriz. Ve bu bilgilere göre SQL sorguları gerçekleştirebiliriz. Mesela Başlıklara ya da Açıklamalara göre arama sorguları yazabiliriz.

pathToFile = Server.mapPath(files/ ) & \ & fileName
Dosyanın sunucuda gönderildiği yol. Bunu göstermek yazma yetkisi verilmiş klasörü göstermek olacağından risk taşıyabilir. Gerçi öğrenmek isteyen dikkatli bakınca öğrenir ama yine de 20 dikkatliye göstermek herkese göstermekten iyidir.

fileUploaded = load.saveToFile (file, pathToFile)
Dosyamızı upload ediyoruz. Başarılı olursa bu değişkenimiz True değeri alıyor.

Bu dosya bu kadar.

Ve son dosyamız show.asp

Bu sayfa da upload edilmiş dosyaları göstermeye yarıyor. Değişik kullanım alanları olabilir. Başka formatlara dönüştürülerek listelemek için kullanılabilir.
Çalışma şekli de kolay: Yine fso ve for each döngüsü ile verilen dizindeki tüm dosyaları listeliyor ve bunlara link vererek kullanıcının indirebilmesini sağlıyor.

Saygılar, hürmetler...

 

Alıntıdır...
 


257 Kere okundu

Bu makaleyi beyendinizmi ?

1 2 3 4 5 Rating: 1.00 (Toplam 4 Oylar)
comment Yanıtlar (0 Gönder)
Çok okunanlar
En Çok Yorumlananlar
Yazarlar