Ana Sayfa... Duyurularım... Ben Kimim ??? Projelerim... Tozlanmış dosyalar... İrtibata Geçin...
 
Ckeditör sunucuya resim yükleme

Yazar :  Okan  Düzgün             Yayınlanma Saati :  16.07.2017 05:32:07

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.

<CKEditor:CKEditorControl ID="CKEditorControl1" runat="server" Width="575" Height="300px" BasePath="ckeditor/" FilebrowserImageUploadUrl="AppCode/Upload.ashx"></CKEditor:CKEditorControl>

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...



 

 
 Dosyaları indirmek ve yorumları görebilmek için lütfen kullanici girişi yapınız !!!  
 
 
 


 

Son Güncelleme :  16/07/2017
  Design and Coding - Okan Düzgün 2011 - 2017 © Tüm Hakları Saklıdır.