Editor [SmartEditor 2.8] ASP 사용하기
페이지 정보
첨부파일
-
file_uploader_DEXT.zip (957byte)
146회 다운로드 | DATE : 2021-01-18 17:01:17 -
file_uploader_SiteGalaxy.zip (1.1K)
95회 다운로드 | DATE : 2021-01-18 17:01:17
본문
스마트에디터 다운로드 Version: 2.8.2.4259f59
http://dev.naver.com/projects/smarteditor/download
1. 글쓰기 예제
<%@Language="VBScript" CODEPAGE=65001 %>
<%
Response.CharSet="utf-8"
Session.codepage="65001"
Response.codepage="65001"
Response.ContentType="text/html;charset=UTF-8"
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>테스트</title>
<script type="text/javascript" src="/SmartEditor2/js/HuskyEZCreator.js" charset="utf-8"></script>
</head>
<body>
<form name="form1" method="post">
<textarea name="ir1" id="ir1" rows="10" cols="100">에디터에 기본으로 삽입할 글(수정 모드)이 없다면 이 value 값을 지정하지 않으시면 됩니다.</textarea>
</form>
<script type="text/javascript">
var oEditors = [];
nhn.husky.EZCreator.createInIFrame({
oAppRef: oEditors,
elPlaceHolder: "ir1",
sSkinURI: "/SmartEditor2/SmartEditor2Skin.html",
fCreator: "createSEditor2"
});
// '저장' 버튼을 누르는 등 저장을 위한 액션을 했을 때 submitContents가 호출된다고 가정한다.
function submitContents(elClickedObj) {
// 에디터의 내용이 textarea에 적용된다.
var forms=document.form1; // 글쓰기에서 <form name="form1" 을 동일하게 설정
oEditors[0].exec("UPDATE_CONTENTS_FIELD", []);
// 에디터에 입력된 내용의 검증은 이곳에서
// document.getElementById("ir1").value 값을 이용해서 처리한다.
try{
// 이 라인은 현재 사용 중인 폼에 따라 달라질 수 있다.
//forms.submit();
//elClickedObj.form.submit();
}catch(e){}
}
</script>
</body>
</html>
2. / SmartEditor2 / SmartEditor2Skin.html 의 25줄
스마트에디터 버전정보를 주석으로 변경합니다.
<span id="rev">Version: 2.8.2.4259f59 </span>
를 style="display:none;" 을 추가해서 숨김
<span id="rev" style="display:none;">Version: 2.8.2.4259f59 </span>
3. 스마트에디터 사진첨부기능 넣기
3-1. / SmartEditor2 / sample / photo_uploader / attach_photo.js
수정사항 없음
3-2. / SmartEditor2 / sample / photo_uploader / attach_photo.js 의 481줄
function callFileUploader (){
oFileUploader = new jindo.FileUploader(jindo.$("uploadInputBox"),{
sUrl : location.href.replace(/\/[^\/]*$/, '') + '/file_uploader.php', //샘플 URL입니다.
sCallback : location.href.replace(/\/[^\/]*$/, '') + '/callback.html', //업로드 이후에 iframe이 redirect될 콜백페이지의 주소
sFiletype : "*.jpg;*.png;*.bmp;*.gif", //허용할 파일의 형식. ex) "*", "*.*", "*.jpg", 구분자(;)
sMsgNotAllowedExt : 'JPG, GIF, PNG, BMP 확장자만 가능합니다', //허용할 파일의 형식이 아닌경우에 띄워주는 경고창의 문구
bAutoUpload : false, //파일이 선택됨과 동시에 자동으로 업로드를 수행할지 여부 (upload 메소드 수행)
bAutoReset : true // 업로드한 직후에 파일폼을 리셋 시킬지 여부 (reset 메소드 수행)
}).attach({
에서 업로드 컴포넌트 파일 경로 변경
file_uploader.php 를 file_uploader_DEXT.asp , file_uploader_SiteGalaxy.asp , file_uploader_ABC.asp 등으로 변경
4. / SmartEditor2 / sample / photo_uploader / callback.html
수정사항 없음
5. file_uploader 생성하기
5-1. PHP Uploader : / SmartEditor2 / sample / file_uploader.php 7줄
if(bSuccessUpload) {
를 아래와 같이 변경
if($bSuccessUpload) {
5-2. DEXT.Uploader : / SmartEditor2 / sample / file_uploader_DEXT.asp 생성 < 테스트완료 >
<%
'****************
'@ 랜덤 문자 생성 함수
'****************
Function Func_getRndChr(ByVal rLen)
Dim rtnStr
Randomize
For rIdx = 1 To rLen
rtnStr = rtnStr & Chr(Int(2*Rnd)*32 + Int((90-65+1)*Rnd + 65))
Next
Func_getRndChr = rtnStr
End Function
'**************
'@ 임시 파일명 생성
'**************
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
tempName = Mid(Fso.GetTempName(),4,3)
tempRand = Func_getRndChr(16)
Set Fso = Nothing
'********************
'@ 파일 업로드 컴포넌트 설정
'********************
Set uf = Server.CreateObject("DEXT.FileUpload")
uf.DefaultPath = "D:\www\upload\SmartUpload\"
'******
'@ 변수
'******
url = uf("callback") & "?callback_func=" & uf("callback_func")
fileName = uf("Filedata").FileName
fileMime = uf("Filedata").MimeType
upFileName = tempRand & "N" & tempName & ".jpg" '@ 파일명 생성
'**********
'@ 업로드 처리
'**********
If fileName = "" Then '@ 업로드 파일 없을 경우
url = url & "&errstr=error"
Else '@ 업로드 파일 있을 경우
If fileMime = "image/gif" Or fileMime = "image/pjpeg" Or fileMime = "image/x-png" Or fileMime = "image/jpeg" Or fileMime = "image/png" Then '@ 필터링
filePath = uf.DefaultPath & upFileName '@ 파일 경로
uf("Filedata").SaveAs filePath '@ 업로드
'@ 리턴 url
url = url & "&bNewLine=true"
url = url & "&sFileName=" & upFileName
url = url & "&sFileURL=/upload/SmartUpload/" & upFileName
Else
url = url & "&errstr=" & upFileName
End If
End If
Set uf = Nothing
Response.Write "<script type='text/javascript'>"
Response.Write " window.location.href = '" & url & "';"
Response.Write "</script>"
Response.End
%>
5-3. SiteGalaxy : / SmartEditor2 / sample / photo_uploader / file_uploader_siteGalaxy.asp 생성 < 테스트 안함 >
<%
Set UploadForm=server.CreateObject("SiteGalaxyUpload.Form")
Set FSO=server.CreateObject("Scripting.FileSystemObject")
DefaultPath = server.mappath("\") & "\upload\SmartUpload\" '업로드 폴더
Attach_File=UploadForm("uploadInputBox")
if Attach_File="" then
else
userfilepath = UploadForm("uploadInputBox").filepath
userfilename = mid(userfilepath,instrrev(userfilepath,"\")+1)
'userfilenameonly = mid(userfilename,1,instr(userfilename,".")-1)
'한글 파일명 관련 오류 있을까봐 아래처럼 쓰는데, 이번 버전에 문제 없으시면 아래 대신 이걸로 사용하시면 됨.
userfilenameonly = "se"&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)
userfilename = userfilenameonly&"."&mid(userfilename,instr(userfilename,".")+1)
userextnameonly = mid(userfilename,instr(userfilename,".")+1)
checkfilename = DefaultPath&userfilename
if(FSO.fileexists(checkfilename)) = true then
i = 2
Do While (1)
checkfilename = DefaultPath&userfilenameonly&"_"&i&"."&userextnameonly
If(FSO.fileexists(checkfilename)) <> true Then Exit Do
i = i + 1
Loop
userfilename = userfilenameonly&"_"&i&"."&userextnameonly
end if
if instr(UploadForm("uploadInputBox").mimetype,"image") = 0 then '클라이언트 쪽에서 체크 하고있긴한데 만약을 대비해서 한번더 체크
response.End()
end if
upfilename = DefaultPath&userfilename
UploadForm("uploadInputBox").saveas upfilename
filesize = UploadForm("uploadInputBox").size '나중에 필요에 따라 사용
filetype = UploadForm("uploadInputBox").mimetype '나중에 필요에 따라 사용
fileext = userextnameonly '나중에 필요에 따라 사용
end if
f_url = "/upload/SmartUpload/" & userfilename '나중에 사이트 도메인 변경되는 경우를 대비해서 앞쪽 도메인 빼버림. 필요에 따라 http부터 넣어도 됨.
callback_func = UploadForm("callback_func")
Set FSO = nothing
response.redirect "/SmartEditor2/photo_uploader/callback.html?callback_func="&callback_func&"&bNewLine=true&sFileName="&FileName&"&sFileURL="&FileURL
%>
5-4. ABC.uploader : / SmartEditor2 / sample / photo_uploader / file_uploader_ABC.asp 생성 < 테스트 안함 >
6. / SmartEditor2 / sample / photo_uploader / photo_uploader.html 의 59줄
<form id="editor_upimage" name="editor_upimage" action="FileUploader.php" method="post" enctype="multipart/form-data" onSubmit="return false;">
에서 업로드 컴포넌트 파일 경로 변경
FileUploader.php 를 file_uploader_DEXT.asp , file_uploader_SiteGalaxy.asp , file_uploader_ABC.asp 등으로 변경
참고자료
http://l2j.co.kr/2567
http://zeronica.tistory.com/83
https://confirm1456.wordpress.com/2015/03/25/asp-smart-editor-사진-업로드/
1. 글쓰기 예제
<%@Language="VBScript" CODEPAGE=65001 %>
<%
Response.CharSet="utf-8"
Session.codepage="65001"
Response.codepage="65001"
Response.ContentType="text/html;charset=UTF-8"
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>테스트</title>
<script type="text/javascript" src="/SmartEditor2/js/HuskyEZCreator.js" charset="utf-8"></script>
</head>
<body>
<form name="form1" method="post">
<textarea name="ir1" id="ir1" rows="10" cols="100">에디터에 기본으로 삽입할 글(수정 모드)이 없다면 이 value 값을 지정하지 않으시면 됩니다.</textarea>
</form>
<script type="text/javascript">
var oEditors = [];
nhn.husky.EZCreator.createInIFrame({
oAppRef: oEditors,
elPlaceHolder: "ir1",
sSkinURI: "/SmartEditor2/SmartEditor2Skin.html",
fCreator: "createSEditor2"
});
// '저장' 버튼을 누르는 등 저장을 위한 액션을 했을 때 submitContents가 호출된다고 가정한다.
function submitContents(elClickedObj) {
// 에디터의 내용이 textarea에 적용된다.
var forms=document.form1; // 글쓰기에서 <form name="form1" 을 동일하게 설정
oEditors[0].exec("UPDATE_CONTENTS_FIELD", []);
// 에디터에 입력된 내용의 검증은 이곳에서
// document.getElementById("ir1").value 값을 이용해서 처리한다.
try{
// 이 라인은 현재 사용 중인 폼에 따라 달라질 수 있다.
//forms.submit();
//elClickedObj.form.submit();
}catch(e){}
}
</script>
</body>
</html>
2. / SmartEditor2 / SmartEditor2Skin.html 의 25줄
스마트에디터 버전정보를 주석으로 변경합니다.
<span id="rev">Version: 2.8.2.4259f59 </span>
를 style="display:none;" 을 추가해서 숨김
<span id="rev" style="display:none;">Version: 2.8.2.4259f59 </span>
3. 스마트에디터 사진첨부기능 넣기
3-1. / SmartEditor2 / sample / photo_uploader / attach_photo.js
수정사항 없음
3-2. / SmartEditor2 / sample / photo_uploader / attach_photo.js 의 481줄
function callFileUploader (){
oFileUploader = new jindo.FileUploader(jindo.$("uploadInputBox"),{
sUrl : location.href.replace(/\/[^\/]*$/, '') + '/file_uploader.php', //샘플 URL입니다.
sCallback : location.href.replace(/\/[^\/]*$/, '') + '/callback.html', //업로드 이후에 iframe이 redirect될 콜백페이지의 주소
sFiletype : "*.jpg;*.png;*.bmp;*.gif", //허용할 파일의 형식. ex) "*", "*.*", "*.jpg", 구분자(;)
sMsgNotAllowedExt : 'JPG, GIF, PNG, BMP 확장자만 가능합니다', //허용할 파일의 형식이 아닌경우에 띄워주는 경고창의 문구
bAutoUpload : false, //파일이 선택됨과 동시에 자동으로 업로드를 수행할지 여부 (upload 메소드 수행)
bAutoReset : true // 업로드한 직후에 파일폼을 리셋 시킬지 여부 (reset 메소드 수행)
}).attach({
에서 업로드 컴포넌트 파일 경로 변경
file_uploader.php 를 file_uploader_DEXT.asp , file_uploader_SiteGalaxy.asp , file_uploader_ABC.asp 등으로 변경
4. / SmartEditor2 / sample / photo_uploader / callback.html
수정사항 없음
5. file_uploader 생성하기
5-1. PHP Uploader : / SmartEditor2 / sample / file_uploader.php 7줄
if(bSuccessUpload) {
를 아래와 같이 변경
if($bSuccessUpload) {
5-2. DEXT.Uploader : / SmartEditor2 / sample / file_uploader_DEXT.asp 생성 < 테스트완료 >
<%
'****************
'@ 랜덤 문자 생성 함수
'****************
Function Func_getRndChr(ByVal rLen)
Dim rtnStr
Randomize
For rIdx = 1 To rLen
rtnStr = rtnStr & Chr(Int(2*Rnd)*32 + Int((90-65+1)*Rnd + 65))
Next
Func_getRndChr = rtnStr
End Function
'**************
'@ 임시 파일명 생성
'**************
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
tempName = Mid(Fso.GetTempName(),4,3)
tempRand = Func_getRndChr(16)
Set Fso = Nothing
'********************
'@ 파일 업로드 컴포넌트 설정
'********************
Set uf = Server.CreateObject("DEXT.FileUpload")
uf.DefaultPath = "D:\www\upload\SmartUpload\"
'******
'@ 변수
'******
url = uf("callback") & "?callback_func=" & uf("callback_func")
fileName = uf("Filedata").FileName
fileMime = uf("Filedata").MimeType
upFileName = tempRand & "N" & tempName & ".jpg" '@ 파일명 생성
'**********
'@ 업로드 처리
'**********
If fileName = "" Then '@ 업로드 파일 없을 경우
url = url & "&errstr=error"
Else '@ 업로드 파일 있을 경우
If fileMime = "image/gif" Or fileMime = "image/pjpeg" Or fileMime = "image/x-png" Or fileMime = "image/jpeg" Or fileMime = "image/png" Then '@ 필터링
filePath = uf.DefaultPath & upFileName '@ 파일 경로
uf("Filedata").SaveAs filePath '@ 업로드
'@ 리턴 url
url = url & "&bNewLine=true"
url = url & "&sFileName=" & upFileName
url = url & "&sFileURL=/upload/SmartUpload/" & upFileName
Else
url = url & "&errstr=" & upFileName
End If
End If
Set uf = Nothing
Response.Write "<script type='text/javascript'>"
Response.Write " window.location.href = '" & url & "';"
Response.Write "</script>"
Response.End
%>
5-3. SiteGalaxy : / SmartEditor2 / sample / photo_uploader / file_uploader_siteGalaxy.asp 생성 < 테스트 안함 >
<%
Set UploadForm=server.CreateObject("SiteGalaxyUpload.Form")
Set FSO=server.CreateObject("Scripting.FileSystemObject")
DefaultPath = server.mappath("\") & "\upload\SmartUpload\" '업로드 폴더
Attach_File=UploadForm("uploadInputBox")
if Attach_File="" then
else
userfilepath = UploadForm("uploadInputBox").filepath
userfilename = mid(userfilepath,instrrev(userfilepath,"\")+1)
'userfilenameonly = mid(userfilename,1,instr(userfilename,".")-1)
'한글 파일명 관련 오류 있을까봐 아래처럼 쓰는데, 이번 버전에 문제 없으시면 아래 대신 이걸로 사용하시면 됨.
userfilenameonly = "se"&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)
userfilename = userfilenameonly&"."&mid(userfilename,instr(userfilename,".")+1)
userextnameonly = mid(userfilename,instr(userfilename,".")+1)
checkfilename = DefaultPath&userfilename
if(FSO.fileexists(checkfilename)) = true then
i = 2
Do While (1)
checkfilename = DefaultPath&userfilenameonly&"_"&i&"."&userextnameonly
If(FSO.fileexists(checkfilename)) <> true Then Exit Do
i = i + 1
Loop
userfilename = userfilenameonly&"_"&i&"."&userextnameonly
end if
if instr(UploadForm("uploadInputBox").mimetype,"image") = 0 then '클라이언트 쪽에서 체크 하고있긴한데 만약을 대비해서 한번더 체크
response.End()
end if
upfilename = DefaultPath&userfilename
UploadForm("uploadInputBox").saveas upfilename
filesize = UploadForm("uploadInputBox").size '나중에 필요에 따라 사용
filetype = UploadForm("uploadInputBox").mimetype '나중에 필요에 따라 사용
fileext = userextnameonly '나중에 필요에 따라 사용
end if
f_url = "/upload/SmartUpload/" & userfilename '나중에 사이트 도메인 변경되는 경우를 대비해서 앞쪽 도메인 빼버림. 필요에 따라 http부터 넣어도 됨.
callback_func = UploadForm("callback_func")
Set FSO = nothing
response.redirect "/SmartEditor2/photo_uploader/callback.html?callback_func="&callback_func&"&bNewLine=true&sFileName="&FileName&"&sFileURL="&FileURL
%>
5-4. ABC.uploader : / SmartEditor2 / sample / photo_uploader / file_uploader_ABC.asp 생성 < 테스트 안함 >
6. / SmartEditor2 / sample / photo_uploader / photo_uploader.html 의 59줄
<form id="editor_upimage" name="editor_upimage" action="FileUploader.php" method="post" enctype="multipart/form-data" onSubmit="return false;">
에서 업로드 컴포넌트 파일 경로 변경
FileUploader.php 를 file_uploader_DEXT.asp , file_uploader_SiteGalaxy.asp , file_uploader_ABC.asp 등으로 변경
참고자료
http://l2j.co.kr/2567
http://zeronica.tistory.com/83
https://confirm1456.wordpress.com/2015/03/25/asp-smart-editor-사진-업로드/
댓글목록
등록된 댓글이 없습니다.