Upload, add and Display Image in TinyMCE Editor TextBox using jQuery Uploadify Plugin in ASP.Net

In this article I will explain with an example, how to upload and display Image in TinyMCE Editor TextBox using jQuery in ASP.Net.

The Image files will be uploaded in the TinyMCE Editor TextBox using AJAX with the help of jQuery Uploadify plugin.

 

 

HTML Markup

Following HTML Markup consists of an ASP.Net FileUpload and a Multi-line TextBox.

<

form

id

=”form1″

runat

=”server”>

<

div

style

=”

padding

: 40px”>

   

<

asp

:

FileUpload

ID

=”FileUpload1″

runat

=”server”

/><

br

/>

   

<

asp

:

TextBox

ID

=”TextBox1″

runat

=”server”

TextMode

=”MultiLine”></

asp

:

TextBox

>

</

div

>

</

form

>

 

 

Implementing TinyMCE And Uploadify Plugin

Inside the jQuery document ready event handler, the FileUpload control has been applied with the

jQuery Uploadify

plugin and the Multi-line TextBox has been assigned with the TinyMCE Rich Text Editor plugin.

The OnComplete event handler of the jQuery Uploadify plugin is raised when the file upload process has been completed and hence inside the OnComplete event handler, a string of HTML Image with the SRC attribute set to the path of the uploaded Image file is generated.

Note

: For more details on implementing and using the jQuery Uploadify plugin, please refer

For more details on implementing and using the jQuery Uploadify plugin, please refer Implement Uploadify jQuery Plugin in ASP.Net using C# and VB.Net

 

Finally the generated HTML Image string is inserted in the TinyMCE Editor.

<

script

type

=”text/javascript”

src

=”http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js”></

script

>

<

script

type

=”text/javascript”

src

=”scripts/jquery.uploadify.js”></

script

>

<

script

type

=”text/javascript”

src

=”jscripts/tiny_mce/jquery.tinymce.js”></

script

>

<

script

type

=”text/javascript”>

    $(

function

() {

        $(

‘textarea’

).tinymce({

            script_url:

‘jscripts/tiny_mce/tiny_mce.js’

,

            theme:

“advanced”

,

            plugins:

“spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template”

,

            theme_advanced_buttons1:

“save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect,spellchecker”

,

            theme_advanced_buttons2:

“”

,

            theme_advanced_buttons3:

“”

,

            theme_advanced_buttons4:

“”

,

            theme_advanced_toolbar_location:

“top”

,

            theme_advanced_toolbar_align:

“left”

,

            theme_advanced_statusbar_location:

“bottom”

,

            theme_advanced_resizing:

true

,

            height: 200,

            skin:

“o2k7”

,

            skin_variant:

“silver”

        });

        $(

“[id*=FileUpload1]”

).fileUpload({

           

‘uploader’

:

‘scripts/uploader.swf’

,

           

‘cancelImg’

:

‘images/cancel.png’

,

           

‘buttonText’

:

‘Browse Files’

,

           

‘script’

:

‘Upload.ashx’

,

           

‘folder’

:

‘uploads’

,

           

‘fileDesc’

:

‘Image Files’

,

           

‘fileExt’

:

‘*.jpg;*.jpeg;*.gif;*.png’

,

           

‘multi’

:

true

,

           

‘auto’

:

true

,

           

‘onComplete’

:

function

(event, ID, fileObj, response, data) {

               

var

img =

“<img style = ‘height:80px;width:80px’ src = ‘”

+ fileObj.filePath +

“‘ />”

;

                tinyMCE.activeEditor.execCommand(

“mceInsertContent”

,

true

, img);

            }

        });

    });

</

script

>

 

 

Generic Handler for uploading Image files

The following Generic HTTP Handler handles the File Upload requests sent from the jQuery Uploadify Plugin.

It first reads the File data and then saves is to a Folder (Directory) on the Server’s disk.

Finally it sends a StatusCode 200 in Response which signifies that the File has been successfully uploaded.

C#

<%

@

WebHandler

Language

=”C#”

Class

=”Upload”

%>

 

using

System;

using

System.Web;

using

System.IO;

 

public

class

Upload

:

IHttpHandler

{

   

   

public

void

ProcessRequest (

HttpContext

context) {

        context.Response.ContentType =

“text/plain”

;

        context.Response.Expires = -1;

       

try

        {

           

HttpPostedFile

postedFile = context.Request.Files[

“Filedata”

];

           

           

string

savepath =

“”

;

           

string

tempPath =

“”

;

            tempPath = System.Configuration.

ConfigurationManager

.AppSettings[

“FolderPath”

];

            savepath = context.Server.MapPath(tempPath);

           

string

filename = postedFile.FileName;

           

if

(!

Directory

.Exists(savepath))

               

Directory

.CreateDirectory(savepath);

 

            postedFile.SaveAs(savepath +

@”\”

+ filename);

            context.Response.Write(tempPath +

“/”

+ filename);

            context.Response.StatusCode = 200;

        }

       

catch

(

Exception

ex)

        {

            context.Response.Write(

“Error: “

+ ex.Message);

        }

    }

 

   

public

bool

IsReusable {

       

get

{

           

return

false

;

        }

    }

}

 

VB.Net

<%

@

WebHandler

Language

=”VB”

Class

=”Upload”

%>

 

Imports

System

Imports

System.Web

Imports

System.IO

 

Public

Class

Upload

:

Implements

IHttpHandler

   

   

Public

Sub

ProcessRequest(

ByVal

context

As

HttpContext

)

Implements

IHttpHandler

.ProcessRequest

        context.Response.ContentType =

“text/plain”

        context.Response.Expires = -1

       

Try

           

Dim

postedFile

As

HttpPostedFile

= context.Request.Files(

“Filedata”

)

           

Dim

savepath

As

String

=

“”

           

Dim

tempPath

As

String

=

“”

            tempPath = System.Configuration.

ConfigurationManager

.AppSettings(

“FolderPath”

)

            savepath = context.Server.MapPath(tempPath)

           

Dim

filename

As

String

= postedFile.FileName

           

If

Not

Directory

.Exists(savepath)

Then

               

Directory

.CreateDirectory(savepath)

           

End

If

           

            postedFile.SaveAs((savepath + (

“\”

+ filename)))

            context.Response.Write((tempPath + (

“/”

+ filename)))

            context.Response.StatusCode = 200

       

Catch

ex

As

Exception

            context.Response.Write(

“Error: “

+ ex.Message)

       

End

Try

   

End

Sub

   

   

Public

ReadOnly

Property

IsReusable

As

Boolean

Implements

IHttpHandler

.IsReusable

       

Get

           

Return

False

       

End

Get

   

End

Property

End

Class

 

 

Demo

 

 

Downloads

Xổ số miền Bắc