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

Categories

-

Asp.Net FileUploand Resim Boyutlandirma !!!

Asp.net projelerimizde kimi zaman fileupload nesnesi ile sunucuya resim yükleme islemleri yapariz , yaptiririz.Kullanicinin yükledigi resim boyutlarini bilemeyiz tabiki.Bu durumda karsimiza farkli sorunlar çikabilior.Örnegin yüklenen resim boyutu çok fazla olabilir ve sunucuya ek bir yük getirebilir , yüklenen resim boyutlari sizin tasariminiza uygun olmayabilir vs..Böyle durumlarda yüklenen resimleri boyutlandirip o sekilde kaydetmek gerekir.

Gerekli kodlarimiz :

Imports System.IO

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 = ""

Dim uzanti As String = ""

Dim dosyaIcerik As Byte() = FU.FileBytes

Dim dosyaTipi As String = FU.PostedFile.ContentType

Dim resimdizin As String = "Resimler/"

Dim resimdizin2 As String = "Resimler/Orjinal/"

If FU.HasFile Then

Dim rastegele As New Random()

Dim numara As Integer = rastegele.Next(1, 999999999)

uzanti = Path.GetExtension(FU.PostedFile.FileName)

resimadi = "Picture" + numara.ToString

'resimadi = "Picture_" + DateTime.Now.Day.ToString + "-" + DateTime.Now.Month.ToString + "-" + DateTime.Now.Year.ToString + " " + DateTime.Now.Minute.ToString + DateTime.Now.Millisecond.ToString

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

FU.SaveAs(Server.MapPath("Resimler/Orjinal/" + resimadi + uzanti))

Dim bmp As New Bitmap(Server.MapPath("Resimler/Orjinal/" + resimadi + uzanti))

Using OrjinalResim As Bitmap = bmp

Dim ResYukseklik As Double = 77

Dim ResGenislik As Double = 108

Dim yenidegerler As New Size(Convert.ToInt32(ResGenislik), Convert.ToInt32(ResYukseklik))

Dim yeniresim As New Bitmap(OrjinalResim, yenidegerler)

yeniresim.Save(Server.MapPath("Resimler/" + resimadi + uzanti))

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("resim.mdb"))

Dim cmd As New OleDbCommand("Insert Into ResimEkle (ResimAdi , ResimUrl ,OrjinalUrl, 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()

End Sub

End Class

Örnek çalismayi buradan indirebilirsiniz...

  • 0
  • 793
  • 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