Imports System.Drawing 'bitmap icin Imports System.Drawing.Imaging 'image çizimi için Imports System.IO Partial Class panel_firma_kart_galeri Inherits System.Web.UI.Page Private Sub panel_firma_kart_galeri_Init(sender As Object, e As EventArgs) Handles Me.Init Dim cookie As HttpCookie = Request.Cookies("kullanici") 'cookie silindi ise ana sayfaya döner If cookie Is Nothing Then Response.Redirect("default.aspx") End If '---------------------------------------------------------- resimyukle() End Sub Private Sub addphoto_Click(sender As Object, e As EventArgs) Handles addphoto.Click On Error GoTo hata_kayit mesaj.Text = "" mesaj.Visible = False '--------------------------------------------------------------------------------------------------------------------------------------- Dim SAYI As Long Dim dosyaad As String 'Resminin boyutlandırmasını yaparak gönderir '1.resim SAYI = Randomizer(1000, 9999) Dim bmp As Bitmap Label1.Text = "" If FileUpload1.FileName <> "" Then If FileUpload1.HasFile Then 'dosya var ise If FileUpload1.PostedFile.ContentLength < 2000000 Then '2 mbit ten büyük dosya yüklenemez dosyaad = SAYI.ToString + "_" + FileUpload1.FileName FileUpload1.SaveAs(Server.MapPath("~/imagesfirmalar/") + dosyaad) 'fotoyu server a attık '------------------------------yüklenmek istenen resmin boyutunu ayarlar------------------------------------------------- bmp = New Bitmap(Server.MapPath("~/imagesfirmalar/" + dosyaad)) 'Kayıt ettğimiz fotoyu çağırıp üzerinde işlem yapıyoruz 'en boy oranına göre orantılı boyutlandırma yapar------------------------------ Dim genislik As Integer = 800 'resmin genişliği max 800 yüksekliği max 700 olsun istiyoruz Dim yukseklik As Integer = 700 Dim ebatlar As New Size(bmp.Width, bmp.Height) If bmp.Width > genislik OrElse bmp.Height > yukseklik Then 'eğer istenilen ebatlardan büyükse boyutlandırma yapar 'resmin genişlik ve yükseklik oranını alıyoruz. Dim oran As Double = (CDbl(bmp.Width) / CDbl(bmp.Height)) If bmp.Width > genislik Then ebatlar.Width = genislik ebatlar.Height = CInt(CDbl(genislik) / oran) End If If ebatlar.Height > yukseklik Then ebatlar.Height = yukseklik ebatlar.Width = CInt(CDbl(yukseklik) * oran) End If Dim yeniresim As Bitmap = New Bitmap(bmp, ebatlar) bmp.Dispose() 'eskisini silip boyutlanan resimleri atar System.IO.File.Delete("" + Server.MapPath("~/imagesfirmalar/") + "" + dosyaad) 'İlk yüklediğimiz resmin boyutlarını değiştirdiği için ilk yüklediğimiz resmi siliyor. yeniresim.Save(Server.MapPath("~/imagesfirmalar/" + dosyaad), ImageFormat.Jpeg) yeniresim.Dispose() End If '------------------------------------------------------------------------------------------------------------------------ Label1.Text = FileUpload1.FileName + " resim yüklendi" Else Label1.Text = "Resim boyutu 2mb den büyük.Yüklenemedi" End If Else Label1.Text = FileUpload1.FileName + " resim yüklenemedi !!!" End If End If resimyukle() Exit Sub '--------------------------------------------------------------------------------------------------------------------------------------- hata_kayit: mesaj.Text = "Bir hata oluştu, yükleme yapılamadı !!!" mesaj.Visible = "true" End Sub Private Sub RepeaterImages_ItemCommand(source As Object, e As RepeaterCommandEventArgs) Handles RepeaterImages.ItemCommand On Error GoTo hata_sil If e.CommandName = "delete" Then If e.CommandArgument.ToString <> "" Then System.IO.File.Delete("" + Server.MapPath("~/imagesfirmalar/") + "" + e.CommandArgument.ToString) 'resim silindikten sonra günceller resimyukle() End If Exit Sub hata_sil: mesaj.Text = "Bir hata oluştu, yeni yüklenen bir resmi silmek istiyorsanız daha sonra tekrar deneyin !!!" mesaj.Visible = "true" End Sub Private Sub resimyukle() Dim filePaths As String() = Directory.GetFiles(Server.MapPath("~/imagesfirmalar/")) Dim files As New List(Of ListItem)() For Each filePath As String In filePaths Dim fileName As String = Path.GetFileName(filePath) files.Add(New ListItem(fileName, "~/imagesfirmalar/" + fileName)) Next RepeaterImages.DataSource = files RepeaterImages.DataBind() End Sub Private Function Randomizer(ByVal iStart As Integer, ByVal iEnd As Integer) As Integer Dim iRandomValue As Integer Randomize() iRandomValue = iStart + (Rnd() * (iEnd - iStart)) Return iRandomValue End Function End Class