Smart Editor2 적용은 아래 링크를 확인 바란다.
[Spring Boot/Smart Editor2] - Smart Editor 적용
Smart Editor 적용
네이버 스마트 에디터 다운로드 네이버 스마트 에디터2는 깃허브에서 버전별로 배포를 하고있다. 필요한 버전을 다운받으면 된다. 필자는 2.8.2.3 버전을 다운받았다. https://github.com/naver/smarteditor2
fvor001.tistory.com
atthch_photh.js의 html5Upload() 함수 수정
/**
* HTML5 DragAndDrop으로 사진을 추가하고, 확인버튼을 누른 경우에 동작한다.
* @return
*/
function html5Upload() {
var tempFile,
sUploadURL;
//sUploadURL= 'file_uploader_html5.php'; //upload URL
sUploadURL = "/smarteditorMultiImageUpload";
//파일을 하나씩 보내고, 결과를 받음.
for(var j=0, k=0; j < nImageInfoCnt; j++) {
tempFile = htImageInfo['img'+j];
try{
if(!!tempFile){
//Ajax통신하는 부분. 파일과 업로더할 url을 전달한다.
callAjaxForHTML5(tempFile,sUploadURL);
k += 1;
}
}catch(e){}
tempFile = null;
}
}
sUploadURL 경로를 수정한다.
@RequestMapping(value="smarteditorMultiImageUpload")
public void smarteditorMultiImageUpload(HttpServletRequest request, HttpServletResponse response){
try {
//파일정보
String sFileInfo = "";
//파일명을 받는다 - 일반 원본파일명
String sFilename = request.getHeader("file-name");
//파일 확장자
String sFilenameExt = sFilename.substring(sFilename.lastIndexOf(".")+1);
//확장자를소문자로 변경
sFilenameExt = sFilenameExt.toLowerCase();
//이미지 검증 배열변수
String[] allowFileArr = {"jpg","png","bmp","gif"};
//확장자 체크
int nCnt = 0;
for(int i=0; i<allowFileArr.length; i++) {
if(sFilenameExt.equals(allowFileArr[i])){
nCnt++;
}
}
//이미지가 아니라면
if(nCnt == 0) {
PrintWriter print = response.getWriter();
print.print("NOTALLOW_"+sFilename);
print.flush();
print.close();
} else {
//디렉토리 설정 및 업로드
//파일경로
String filePath = "경로설정";
File file = new File(filePath);
if(!file.exists()) {
file.mkdirs();
}
String sRealFileNm = "";
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
String today= formatter.format(new java.util.Date());
sRealFileNm = today+UUID.randomUUID().toString() + sFilename.substring(sFilename.lastIndexOf("."));
String rlFileNm = filePath + sRealFileNm;
///////////////// 서버에 파일쓰기 /////////////////
InputStream inputStream = request.getInputStream();
OutputStream outputStream=new FileOutputStream(rlFileNm);
int numRead;
byte bytes[] = new byte[Integer.parseInt(request.getHeader("file-size"))];
while((numRead = inputStream.read(bytes,0,bytes.length)) != -1){
outputStream.write(bytes,0,numRead);
}
if(inputStream != null) {
inputStream.close();
}
outputStream.flush();
outputStream.close();
///////////////// 이미지 /////////////////
// 정보 출력
sFileInfo += "&bNewLine=true";
// img 태그의 title 속성을 원본파일명으로 적용시켜주기 위함
sFileInfo += "&sFileName="+ sFilename;
sFileInfo += "&sFileURL="+"경로설정"+sRealFileNm;
PrintWriter printWriter = response.getWriter();
printWriter.print(sFileInfo);
printWriter.flush();
printWriter.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
//파일경로 String filePath = "경로설정";
sFileInfo += "&sFileURL="+"경로설정"+sRealFileNm;
두 부분의 경로를 설정해준다.
스마트에디터2 적용 (0) | 2021.09.21 |
---|
댓글 영역