[CKEditor] ASP에서 사용하기 > 기술자료 | 해피정닷컴

[CKEditor] ASP에서 사용하기 > 기술자료

본문 바로가기

사이트 내 전체검색

[CKEditor] ASP에서 사용하기 > 기술자료

Editor [CKEditor] ASP에서 사용하기

페이지 정보


본문

1. 먼저 ckeditor(위지윅 에디터)를 다운 받습니다.
    ckeditor - http://ckeditor.com/download

2. ckeditor 를 사용하는 페이지에
<script type="text/javascript" src="/ckeditor/ckeditor.js"></script>
를 추가하고 에디터를 사용할 부분에

<textarea name="mycontents"><% 'response.write mycontents %></textarea>
<script type="text/javascript">
CKEDITOR.replace('mycontents',
    {
        filebrowserUploadUrl: '../ckeditor/upload.asp?type=Files',
        filebrowserImageUploadUrl: '../ckeditor/upload.asp?type=Images',
        //filebrowserFlashUploadUrl: '../ckeditor/upload.asp?type=Flash',
        //width : '620px',  // 입력창의 넓이, 넓이는 config.js 에서 % 로 제어
        height : '200px',  // 입력창의 높이
        startupFocus : false  // 자동 focus 사용할때는  true
    }
);
</script>
위와 같이 넣어주면 ckeditor 를 사용하고자 하는 페이지에 불러올 수 있습니다.
개발문서 참조 하시면 형태는 다양하게 변경할 수 있습니다.

filebrowserUploadUrl / filebrowserImageUploadUrl / filebrowserFlashUploadUrl 에서 설정한 페이지에서 파일 업로드를 구현해 주시면 됩니다.
위의 프로퍼티를 입력하지 않은 경우 업로드 하는 부분이 나타나지 않습니다.
이미지나 플래쉬 서버로 업로드 하기 위해서 반드시 입력하세요



여기 까지 설정하는 부분은 끝입니다.

3. 업로드 파일 구현
기본적으로 업로드 파일로 type 값 넘어오고요
CKEditorFuncNum, CKEditor, langCode, upload .....  필요한 값은 이정도면 됩니다.

upload.asp 소스입니다.  DextUpload 컴포넌트을 사용합니다.
/Upload/ckeditor/Flash
/Upload/ckeditor/Files
/Upload/ckeditor/Images  의 폴더를 생성합니다.


<% @LANGUAGE='VBSCRIPT' CODEPAGE='65001' %>
<%
session.codepage = 65001
Response.CharSet = "UTF-8"

Dim funcNum, CKEditor, langCode, fileUrl, fileDir, message, CKEditor_upload_folder

' 파일 중복을 제거 하기 위해 고정 사이트 만큼 특정 문자를 채워 주는 함수
Public Function LeftFillString ( strValue, fillChar, makeLength )
    Dim strRet, strLen, diff, i
    
    strRet  = ""
    strLen  = Len(strValue)
    diff    = CInt(makeLength) - strLen
    
    if diff > 0 then
        for i=1 to diff
            strRet = strRet & CStr(fillChar)
        next
    end if
    
    LeftFillString = strRet & CStr(strValue)
End Function

'유니크한 파일명 만들기
Public Function MakeUniqueFileName( strPrename )
    Dim strFilename, dtNow
    dtNow = now()
    Randomize()
    'strFilename = strPrename & Year(dtNow)
    strFilename = Year(dtNow)
    strFilename = strFilename & LeftFillString( Month(dtNow),   "0", 2 )
    strFilename = strFilename & LeftFillString( Day(dtNow),     "0", 2 )
    strFilename = strFilename & "_"
    strFilename = strFilename & LeftFillString( Hour(dtNow),    "0", 2 )
    strFilename = strFilename & LeftFillString( Minute(dtNow),  "0", 2 )
    strFilename = strFilename & LeftFillString( Second(dtNow),  "0", 2 )
    strFilename = strFilename & "_"  
    strFilename = strFilename & LeftFillString ( Int(Rnd * 1000000), "0", 7 )
    MakeUniqueFileName = strFilename
End Function
  
' 파일 확장자 추출
Function GetFileExt( strFilename )
    Dim strExt, nPos
    nPos = InStrRev( strFilename, ".", -1, 1 ) '// Text Compare
    if nPos > 0 then
        strExt = Mid( strFilename, nPos+1 )
    end if
GetFileExt = strExt
End Function
 
'변수들은 위에서 말한 개발자 가이드 문서에서 뽑았습니다.
'Required: anonymous function number as explained above.
funcNum = Request("CKEditorFuncNum")
'Optional: instance name (might be used to load specific configuration file or anything else)
CKEditor = Request("CKEditor")
'Optional: might be used to provide localized messages
langCode = Request("langCode")
'Check the $_FILES array and save the file. Assign the correct path to some variable ($url).
'fileUrl = ""
'Usually you will assign here something only if file could not be uploaded.
'message = "성공적으로 파일 업로드"

' DEXT Upload를 사용하고 있습니다.
Set Upload = Server.CreateObject("DEXT.FileUpload")
CKEditor_upload_folder = "/upload/ckeditor"
  
Upload.DefaultPath = Server.MapPath (CKEditor_upload_folder)
Dim folderPath
folderPath = Server.MapPath(CKEditor_upload_folder&"/")
upload_filename = Upload("upload").Filename
if IsNull(Upload("upload")) or Upload("upload").FileLen <= 0 then
    upload_filename = ""
    img_filesize = 0
    message = "Upload file does not exist.\n업로드 파일이 존재하지 않습니다."
else
    upload_filename = MakeUniqueFileName("upload") & "." & GetFileExt(upload_filename)
    img_filesize = Upload("upload").FileLen
    if img_filesize > 0 then
        strExt = Mid(upload_filename, Instr(upload_filename, ".") + 1)
        if strExt="jpg" or strExt="JPG" or strExt="JPEG" or strExt="gif" or strExt="GIF" or strExt="png" or strExt="PNG" or strExt="bmp" or strExt="BMP" then
            Upload("upload").SaveAs folderPath & "\Images\" & upload_filename
            fileDir =  "/Images/"
        elseif strExt="swf" then
            Upload("upload").SaveAs folderPath & "\Flash\" & upload_filename
            fileDir =  "/Flash/"
        else
            Upload("upload").SaveAs folderPath & "\Files\" & upload_filename
            fileDir =  "/Files/"
        end if
        message = "I have successfully uploaded the files.\n정상적으로 파일을 업로드했습니다."
    else
        message = "The uploaded file size is zero.\n업로드 파일 사이즈가 0입니다."
    end if
end if

'http:// 경로를 포함하고 싶을때
'fileUrl = "http://"& CKEditor_HTTP_HOST & CKEditor_upload_folder & fileDir & upload_filename
'http:// 경로를 제외하고 싶을때
fileUrl =  CKEditor_upload_folder & fileDir & upload_filename
%>
<script type="text/javascript">
    // 가장 중요한 부분인것 같군요
    // ckeditor의 순번과 유효한 파일 경로만 넘기면 자동으로 이미지나 플래쉬 속성 변경 탭으로 이동합니다.
    window.parent.CKEDITOR.tools.callFunction(<%=funcNum %>, '<%=fileUrl %>', '<%=message %>');
    history.go(-1);
</script>


관련자료
http://flexred5.blogspot.com/2010/11/ckeditor-asp.html
https://www.happyjung.com/bbs/board.php?bo_table=lecture&wr_id=1110

댓글목록

등록된 댓글이 없습니다.


Total 2,641건 80 페이지
  • RSS
기술자료 목록
1061
Editor   47188  2012-02-07 23:32 ~ 2015-05-11 00:00  
열람
Editor   31770  2012-02-07 22:10 ~ 2016-08-31 00:00  
1059
도메인   11954  2012-02-03 10:22  
1058
ClassicASP   32865  2012-02-01 22:52 ~ 2016-01-25 00:00  
1057
JavaScript   46346  2012-01-31 23:38 ~ 2022-12-06 10:11  
1056
etc쇼핑몰   15050  2012-01-30 17:59 ~ 2018-06-08 05:12  
1055
ClassicASP   25294  2012-01-30 17:36  
1054
메이크샵   14441  2012-01-30 09:01  
1053
HTML   16630  2012-01-29 20:22  
1052
HTML   33680  2012-01-29 17:51 ~ 2018-11-15 05:52  
1051
메이크샵   9917  2012-01-26 16:00  
1050
메이크샵   12184  2012-01-20 18:26  
1049
영카트   12763  2012-01-18 19:51  
1048
MSSQL   38230  2012-01-17 14:04 ~ 2018-04-19 22:59  
1047
ClassicASP   12584  2012-01-14 23:08 ~ 2014-01-13 00:00  
1046
MSSQL   13018  2012-01-14 21:50  
1045
MSSQL   15543  2012-01-14 21:38  
1044
영카트   13000  2012-01-12 21:26  
1043
HTML   13483  2012-01-06 15:05  
1042
ClassicASP   26474  2012-01-05 12:05  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.