Bu makalemizde ASP.NET Ckeditör’e dosya yükleme özelliğinin nasıl kazandırıldığını görmüş olacağız normalde Ckeditör’ün zaten upload servisi olan ckfinder adlı bir eki zaten mevcut fakat bunu ücretli olarak satın almanız gerekmektedir.
ASP.NET Ckeditor’e dosya yükleme özelliği kazandırma
Ckeidtör’e dosya yükleme özelliğini biz ASP.NET’de biz Generic Handler yazarak çözmeye çalışacağız şimdi yapmanız gereken biz Generic Handler dosyası eklemek projenize adınıda upload.ashx koyabilirsiniz bu dosyanın içeriği şu şekilde olacaktır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | namespace muratoner.com { using System.Web; public class upload : IHttpHandler { public void ProcessRequest(HttpContext context) { HttpPostedFile uploads = context.Request.Files["upload"]; //muratoner.net string CKEditorFuncNum = context.Request["CKEditorFuncNum"]; string file = System.IO.Path.GetFileName(uploads.FileName); uploads.SaveAs(context.Server.MapPath(".") + "\upload\" + file); //resimleri upload klasörüne yüklüyoruz.. string url = "../upload/" + file; // resimlerin yüklendiği klasör ve yolu alıyoruz.. context.Response.Write("<script>window.parent.CKEDITOR.tools.callFunction(" + CKEditorFuncNum + ", "" + url + "");</script>"); context.Response.End(); } public bool IsReusable { get { return false; } } } } |
Üstteki kodu kısaca açıklayalım HttpPostedFile sınıfı ile sunucuya gönderilen dosyaları Request.Files ile alıyoruz ardından Dosyanın adını alıp SaveAs metoduyla sunuya upload klasörü altına kaydediyoruz. Ardından oluşturulan dosyanın yolu editöre eklenmiş oluyor Not: Dosyanızın sunucuya yüklenmesi için upload adlı klasörün veya sizin belirtmiş olduğunuz farklı bir isim veya yol var ise oluşturmanız gerekmektedir.
Not: Ckeditörden resim ekleme dediğinizde yükleme veya upload sekmesi çıkmıyor ise açmak için yapmanız gereken ckeditor klasörü altında yer alan config.js dosyasına config.filebrowserUploadUrl = “../upload.ashx”; olarak ekleyiniz ama upload.ashx veya farklı isimlendirdiyseniz yolunu tam olarak belirtiniz.
yazı nerde boş yere siteye girdiriyonuz vakit kaybettiriyonuz
Kusura bakmayın bu sorun şimdiye kadar feedback’ler sonucu 10-15 makalede yaşandığı gözlemlendi nedenide asp.net’de kendi tasarladığım blogdan wordpress’e geçişte yaşanan sorunlar maalesef sorunu giderinde içerik şuan görünür durumda keyifli okumalar dilerim.