" Umut, hiç görmeyen birine gökkuşağını anlatmak kadar zor ve imkansız... "

Categories

-

Asp.Net File Uploand Resim Boyutlandirma !!!

Sitemize,veritabanimiza resim yükleme islemi gerçeklestirmek durumunda kalabiliriz... Bu durumda kullanici yükledigi resmi direk olarak alirsak eger; boyutlandirmada,yükseklik ve genisliginde sikintilar problemler olusabilir... Bu yüzden resmi kayit etmeden gerekli boyutlandirmalari gerçeklestirip en son haliyle veritabanimiza kaydetmemiz gerekiyor...

Örnek kullanim asagida gösterilmistir.

Imports System

Imports System.IO ' Namespacelerimizi Import ediyoruz...

Imports System.Data

Imports System.Drawing

Imports System.Data.OleDb

Partial Class _Default

Inherits System.Web.UI.Page

Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click

Dim resimadi As String = "" 'Degiskenlerimiz tanimliyoruz...

Dim uzanti As String = "" ' Degiskenlerimizi tanimliyoruz...

Dim dosyaIcerik As Byte() = FU.FileBytes ' FileUploand kontrolümüzün içerik boyut degerini dosyaIçerik degiskenine atiyoruz...

Dim dosyaTipi As String = FU.PostedFile.ContentType ' FileUploand kontrolümüzün içerik tipini (jpg,png,exe) dosya tipi degiskenine atiyoruz...

Dim resimdizin As String = "Resimler/" ' Resimler yolumuzu belirtiyoruz...

Dim resimdizin2 As String = "Resimler/Orjinal/" 'Orjinal Resimlerimizin kaydedilecegi yolu belirtiyoruz...

If FU.HasFile Then

uzanti = Path.GetExtension(FU.PostedFile.FileName) ' Uzantisini uzanti degiskenine atiyoruz(.jpg-.png-.exe)...

resimadi = "Picture" + DateTime.Now.Minute.ToString + DateTime.Now.Second.ToString ' Resim adimiza Picture ismini atiyoruz ve o onki dakka ve saniye saniye degerini ismimize ekliyoruz...

'FU.SaveAs(Server.MapPath("Resimler/sahte" + uzanti));

FU.SaveAs(Server.MapPath("Resimler/Orjinal/" + resimadi + uzanti)) ' Resimler/Orjinal klasörüne orjinal resmimizi kayit ediyoruz...

Dim bmp As New Bitmap(Server.MapPath("Resimler/Orjinal/" + resimadi + uzanti)) ' Orjinal resmimizi bmp bitmap degiskenimize atiyoruz...

 

Using OrjinalResim As Bitmap = bmp ' bmp degiskenindeki resmimizi Orjinal resim degiskenimize atiyoruz...

Dim ResYukseklik As Double = 77 ' Resim boyut degerlerimizi belirliyoruz...

Dim ResGenislik As Double = 108

Dim yenidegerler As New Size(Convert.ToInt32(ResGenislik), Convert.ToInt32(ResYukseklik)) ' Degerlerimizi yeni degerler degiskenimize atiyoruz...

Dim yeniresim As New Bitmap(OrjinalResim, yenidegerler) ' Yeni resim Bitmap degiskeni tanimlayip,resmimizi ve degerleri tanimliyoruz...

yeniresim.Save(Server.MapPath("Resimler/" + resimadi + uzanti)) ' ve resmimizi kayit ediyoruz...

yeniresim.Dispose()

OrjinalResim.Dispose()

bmp.Dispose()

'FileInfo fisahte = new FileInfo(Server.MapPath("Resimler/Orjinal" + uzanti));

'fisahte.Delete();

End Using

End If

Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; data source=" + Server.MapPath("ResimEkle.mdb"))

Dim cmd As New OleDbCommand("Insert Into ResimEkle (ResimAdi , ResimUrl ,ResimUrl2, ResimTipi) Values(@resimadi, '" + resimdizin + resimadi + uzanti + "','" + resimdizin2 + resimadi + uzanti + "', @dosya_tip)", baglanti)

cmd.Parameters.AddWithValue("@resimadi", resimadi)

cmd.Parameters.AddWithValue("@dosya_tip", dosyaTipi)

baglanti.Open()

If cmd.ExecuteNonQuery() > 0 Then

lblbilgi.Text = "Dosya basariyla yüklendi"

End If

baglanti.Close()

' Burdada veritabanina kaydetme islemleri gerçeklesiyor...

End Sub

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load

End Sub

End Class

Örnek çalismayi buradan indirebilirsiniz.

  • 0
  • 785
  • 0

- BUNLARIDA GÖZDEN GEÇİREBİLİRSİNİZ -

HENÜZ YORUM YAPILMAMIŞ !

Yorum yazın

HAKKIMDA

KONULARI TAKİP EDİN

SOSYAL AĞLAR

  • Mesajınızı Gonderin