ASP ile resim upload ve thumbnail oluşturmak..( Persits.upload ve Persits.Jpeg ile )

 

Merhaba .
    Bu makalede ASP de örnek bir uygulama ile  servera resim upload etme ve bu resimleri thumbnail olarak kaydetmeyi yapacağız. Bu uygulamanın çalışması için Sunucunuzda ya da kendi bilgisayarınızda
 Persits.upload ve Persits.Jpeg Bileşenlerinin kurulu olması gerekir.
 Örnek uygulamamızın senaryosuna göre sitemize bir Photo Galeri yapıyor olacağız ve bu Photo Galerinin resimleri sitenin yönetim panelinden ekleniyor olacak. Resimler istediğimiz bir Klasöre Upload edilecek ve her resmin birde Thumbnali  (Küçük resim ön izlemesi ) oluşturulup o da başka bir klasöre upload edilcek .Upload edilen resimlerin yolu da Access veri tabanında saklanacak.

   Bu işlemler yapılırken site yöneticisinin upload etmeye çalıştığı resmin   buyotları ne olursa olsun resim orantılı olarak küçültülecek.
Öncelikle Veri tabanımızı görelim :


Form sayfamız : form.asp

<body>
<form  action="form_islem.asp" method="post"   enctype="multipart/form-data" name="form1" id="form1">
 <label>
 <input type="file" name="file1" id="file1" />
 </label>
 
 <label>
 <input type="submit" name="button" id="button" value="Submit" />
 </label>
 <input type="input" name="res_adi" id="res_adi" />
</form>
</body>

Görüldüğü gibi basit bir form yaptık. Ancak bu formun diğer formlardan önemli bir farkı var o da sarı renk arka plan ile belirtilen fromun enctype tipi . dosya upload yapılacak edilecek fomların enctype alanı multipart/form-data olmalıdır.!!!!!
Fomumuzda
bir adet file nesnemiz : Resmi kendi PC mizden seçmek için
bir adet inputumuz   (zorunlu değil): Uplad edilecek resme bir isim vermek için ben koydum .
ve bir adet de buttonumuz var ve sayfanın post edileceği sayfa da fom_islem.asp .

Şimdi de asıl önemli olan sayfamıza yani fom_islem.asp sayfamıza geldik.

form_islem.asp  

<body>
<%
                 Set Connect = Server.CreateObject("ADODB.Connection")
Connect.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("ornek.mdb")
randomize
ilhan=int(rnd*9999)+1
set upload=Server.CreateObject("Persits.upload")
upload.save
 
For Each File in Upload.Files
If File.ImageType="UNKNOWN" then'If File.ImageType<>"GIF" then sadece gif olan resim dosyalarini upload eder
Response.Write"Sadece resim dosyasi ekleyebilirsiniz"
Response.end
end if
next
 
set file=upload.files("file1")
adi=File.ExtractFileName
file.saveas Server.MapPath("images/"&ilhan&"_"&adi)
 
 
 
 
Set Jpeg = Server.CreateObject("Persits.Jpeg") '
Jpeg.Open( Server.MapPath("images/"&ilhan&"_"&adi) ) 'Sayfa adres yerinde resmin adresi
 
ebat = 150
 
If Jpeg.OriginalHeight > Jpeg.OriginalWidth Then 'Eğer boyu eninden uzunsa
 
Jpeg.Width = ebat 'Enini istediğimiz boyuta getiriyoruz.
Jpeg.Height = Jpeg.OriginalHeight * Jpeg.Width / Jpeg.OriginalWidth
kenarpayi = Round(Int((Jpeg.Height-ebat)/2)).
Jpeg.Crop 0, kenarpayi, ebat, ebat+kenarpayi 
 
Else ' Boy-en eşit yahut en daha uzunsa...
oran=Jpeg.Width/300
 
Jpeg.Width = 300
 
Jpeg.Height = Jpeg.Height/oran
 
 
 
End if
Jpeg.save(Server.MapPath("images2/"&ilhan&"_"&adi))
 
 
 
 
 
Jpeg.Open( Server.MapPath("images/"&ilhan&"_"&adi) )
 
ebat = 200
 
If Jpeg.OriginalHeight > Jpeg.OriginalWidth Then 
Jpeg.Width = ebat
Jpeg.Height = Jpeg.OriginalHeight * Jpeg.Width / Jpeg.OriginalWidth
kenarpayi = Round(Int((Jpeg.Height-ebat)/2))
Jpeg.Crop 0, kenarpayi, ebat, ebat+kenarpayi
 
Else ' Boy-en eşit yahut en daha uzunsa...
oran=Jpeg.Width/500
 
Jpeg.Width = 640
 
Jpeg.Height = Jpeg.Height/oran
 
 
 
End if
Jpeg.save(Server.MapPath("resim/"&ilhan&"_"&adi))
 
 
 
res_adi=Upload.Form("res_adi")
set rs=Server.CreateObject("Adodb.Recordset")rs.Open "select * from resimler",Connect,1,3
rs.addnew
rs("res_adi")=res_adi
rs("resim")=ilhan&"_"&adi
rs.update
id=rs("resim")
set fs=Server.CreateObject("Scripting.FileSystemObject")
If (fs.FileExists(Server.Mappath("/")&"/resim_upload2\images\"&id))=true Then
set f=fs.GetFile(Server.Mappath("/")&"/resim_upload2\images\"&id)
f.Delete
end if
set fs=nothing
Response.Redirect("goster.asp")
%>
 
</body>

 

Kolay Gelsin

Bunu beğen
Paylaş

Yorumlar
Yorum Yaz
İsim : (*)
E-mail :
Web Adresi:
:
(*)
 
Kapat