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

Categories

-

Ckeditör sunucuya resim yükleme

Ckeditör ve Ckefinder kullanirken, karsiya dosya yükleme kismindan resim yüklemesi gerçeklestirecek olursak eger Ckeditörün eski versiyonlarinda hata vermektedir. Bu sorunu çözmek için asp.net projemize projemize bir tane "Generic Handler" ekliyoruz ve "Upload" ismini veriyoruz. "Upload.ashx" dosyamizin içerigi asagidaki gibi olacak.

<%@ WebHandler Language="VB" Class="Upload" %>

Imports System
Imports System.IO
Imports System.Web

Public Class Upload : Implements IHttpHandler
    
    Public Sub ProcessRequest(ByVal Upload As HttpContext) Implements IHttpHandler.ProcessRequest
      
        Dim Yukle As HttpPostedFile = Upload.Request.Files("upload")
        Dim CKEditorFuncNum As String = Upload.Request("CKEditorFuncNum")
        'Ayni addan iki resim yüklememek için resmimizin adini degistirecegiz, * fakat ilerde aradigimizi bulabilmek adina ilk ismini tutacagiz. * Bunun için dosya adini aliyoruz 
        Dim DosyaAdi As String = Path.GetFileNameWithoutExtension(Yukle.FileName)
        'Dosya uzantisini kontrol etmek için aliyoruz. 
        Dim uzanti As String = Path.GetExtension(Yukle.FileName).ToLower()
        'Yeni Guid benzersiz bir isim üretiyoruz ki dosya adi verecegiz. 
        Dim sonresimadi As String = Guid.NewGuid().ToString()
        'Dosya uzantisini kotrol ediyoruz.
        If uzanti = ".jpg" Or uzanti = ".gif" Or uzanti = ".png" Or uzanti = "jpeg" Then
            'Resimler klasörüne yüklüyoruz.
            Yukle.SaveAs(Upload.Server.MapPath("~") + "\resimler\images\konuresimler\" + DosyaAdi + "-" + sonresimadi + uzanti)
            ' Resim yolunu aliyoruz. 
            Dim url As String = "../resimler/images/konuresimler/" + DosyaAdi + "-" + sonresimadi + uzanti
            Upload.Response.Write((Convert.ToString("")
            Upload.Response.End()
        Else
            Upload.Response.Write("Desteklenmeyen dosya tipi...")
            Upload.Response.End()
        End If
    End Sub
 
    Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property

End Class

Yükleme yapilacak olan yeri resimlerle gösterecek olursak;

Asp.net Generic handler dosyamizi olusturduktan sonra ckeditör config.js dosyamiza gelip açiyoruz. Normalde buraya ckefinder dosyamizi entegre etmek için gerekli kodlari yaziyorduk. Asagidaki gibi kodlarimizi düzenliyoruz.

 

    config.filebrowserBrowseUrl = 'ckfinder/ckfinder.html';
    config.filebrowserImageBrowseUrl = 'ckfinder/ckfinder.html?Type=Images';
    config.filebrowserUploadUrl = 'AppCode/Upload.ashx';
    config.extraPlugins = 'youtube,syntaxhighlight';


Yukaridaki  config.filebrowserUploadUrl = 'AppCode/Upload.ashx'; kodumuzda olusturmus oldugumuz ashx dosyamiz ile resim upload edilirken gerekli kodlar islenerek, resim yüklemesi basariyla gerçeklestirilmektedir. Bunu o sekilde degilde, asp.net ckeditör kullanan arkadaslar için sayfamiza eklemis oldugumuz ckeditör kontrolunun özellikleri ilede ashx dosya yolumuzu belirtebiliyoruz.


 

FilebrowserImageUploadUrl="AppCode/Upload.ashx özelligini kullanarak Uploand dosyamizin yolunu belirtiyoruz ve karsiya yükleme yaparken dosyamiza ulasip ordaki kodlar islenerek, resim yüklemesini basariyla gerçeklestiriyoruz. Yararli olmasi dilegiyle.

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