UEditor 는 바이두 웹 프런트 엔드 R&D 부서에서 개발한 오픈 소스 리치 텍스트 편집기로 경량화, 맞춤형, 사용자 경험 등이 뛰어납니다.
오픈 소스는 BSD 프로토콜을 기반으로 하며 모든 소스 코드는 계약이 허용하는 범위 내에서 자유롭게 수정 및 사용할 수 있습니다.
Baidu UEditor 의 출시로 많은 웹 사이트 개발자가 리치 텍스트 편집기를 개발하는 데 어려움을 겪을 수 있게 되었으며, 개발자가 리치 텍스트 편집기를 개발하는 데 필요한 많은 시간을 절약하여 기업의 개발 비용을 절감할 수 있게 되었습니다. (윌리엄 셰익스피어, Northern Exposure (미국 TV 드라마), 예술명언)
장점
1, 작은 크기, 우수한 성능, 간단한 사용
2, 사용자 정의 및 확장이 용이한 계층형 아키텍처
3, 다양한 수준의 사용자 요구를 충족, 팀 개발에 더 적합
4, 풍부하고 완벽한 중국어 문서
5, 다중 브라우저 지원: Mozilla, MSIE, FireFox, Maxthon, Safari, Chrome
6, 더 나은 사용 경험
7, 전문 QA 팀 지속적인 지원을 가지고, Baidu 주요 제품 온라인
에 적용되었습니다단계 사용
1. jar 패키지 jar 패키지 위치 추가: 파일 루트 디렉토리 아래 JSP 의 lib 폴더 아래에서 jar 패키지를 web-inf 아래의 lib 폴더 아래 buildpath
로 복사합니다2. config.js 의 URL 경로를 자체 프로젝트에서 UEidtor 플러그인의 정확한 루트 경로
로 수정합니다3. JSP 파일에 구성 파일 config.js 를 먼저 도입한 다음 소스 파일 all.js (순서 주의)
4. 컨테이너 로드 및 컨테이너 인스턴스화
1. config.js 구성 파일 URL 을 플러그인 루트 (일반적으로 절대 경로) 로 수정합니다.
2. config.json 의 업로드 그림 구성 항목에서 액세스 경로 접두사를 프로젝트 이름으로 수정하고 필요에 따라 업로드 파일 경로와 액세스 경로를 수정합니다.
구성이 올바르면 UEditor 에 업로드 기능이 있어 사진을 업로드하는 데 도움이 됩니다.
그러나 업로드 경로는 프로젝트 배치의 임시 폴더 아래에 있습니다.
Tomcat 이 배포를 취소하면 업로드된 파일이 프로젝트 배포 파일과 함께 삭제됩니다.
3. 사용자 지정 경로에 사진 업로드 구현
업로드된 파일 이름을 처리할 때 중국어
가 나타나지 않도록 주의하십시오그렇지 않으면 파일을 올바르게 읽으려면 처리가 필요합니다!
4.(1) 먼저 JSP 에서 UEidtor 가 경로를 가져오는 방법을 재정의합니다
//UEditor 에서 경로를 가져오는 방법 덮어쓰기
Ue.editor.prototype. _ bkgetactionurl = ue.editor.prototype.getaction URL;
Ue.editor.prototype.getaction URL = function (action) {
//경로 결정 이것은 config.json 에서 업로드를 수행하도록 설정된 action 이름
입니다If (action == 'uploadimage') {
Return' mons.commonsmultipartresolver "gt;
Lt; Property name = "defaultencoding" value = "utf-8" gt; Lt; /propertygt;
Lt; /beangt;
Controller 에서 파일 업로드 및 읽기 방법 정의
/**
* SpringMVC 는 의 멀티파트 파일을 사용하여 파일 업로드
* 여기에 @RequestParam () 을 사용하여 업로드 파일을 다중 파일
로 지정합니다* @throws IOException
*/
@ requestmapping ("upload image")
@ResponseBody // 여기서 upfile 은 config.json 의 사진 제출 양식 이름
입니다Public Maplt;; String, Stringgt;; Uploadimage (@ request param ("upfile") commonsmultipartfile upfile, http servlet request request) throws io excest
//파일 원래 이름
Stringfilename = upfile.getoriginalfilename ();
//반복적인 단순 처리를 피하기 위해
Stringnowname = newdate (). gettime ()+"_"+filename;
If (! Upimage.isEmpty()){
//업로드 위치 경로
Stringpath 0 = "d: \ \ eclipse workspace \ \ maven-web \ \ src \ \ main \ \ webapp \ \ uuu
//경로에 따라 새 파일 만들기
Filenewfile = newfile (경로 0);
//복제
Filecopyutils.copy (upimage.getbytes (), newfile);
}
//결과 정보 반환 (UEditor 필요)
Maplt;; String, Stringgt;; 맵 = newhashmaplt; String, String gt;; ();
//업로드 성공 여부
Map.put("state ","success ");
//현재 파일 이름
Map.put ("제목", nowname);
//파일 원래 이름
Map.put("original ",filename);
//파일 유형.+접미사
Map.put("type ",filename.substring (upfile.getoriginalfilename (). lastindexof (".")) 입니다
//파일 경로
Map.put("url ","/"+nowname+"/getimage.do ");
//파일 크기 (바이트)
Map.put("size ",upfile.getSize()+"");+"");
Return map;;
}
/**
* 파일 읽기
*/
@ requestmapping ("{imgname}/getimage")
Public void readimg (@ path variable ("imgname") string imgname, http servlet response response)
Throws Exception {
//파일의 반환 유형 설정
Response.setcontenttype ("image/*");
//파일 경로 (windows 의 경우 \ \, Linux 의 경우//,모두 절대 경로여야 함)
Stringimgpath = "d: \ \ eclipseworkspace \ \ maven-web \ \ src \ \ main \ \ webapp \ \ \
//java 에서 파일 클래스는 파일
을 나타내는 데 사용됩니다Fileimage = newfile (imgpath);
//이 파일 경로가 있는지 (즉, 이 파일이 있는지)
If (! Image.exists()) {
Return;;
}
//FileUtils.readFileToByteAr
레이 (파일 파일) 는 파일을 바이트 배열로 변환하여
를 반환합니다Response.getoutputstream (). write (fileutils.readfiletobytearray (image));
//java 는 스트림을 사용할 때 보다 효율적이라고 생각하는 방식으로 데이터를 전송하는 버퍼를 가지고 있습니다.
//보낼 데이터를 먼저 버퍼에 놓고 버퍼가 가득 차면 한 번에 하나씩 보내는 대신 한 번에 보냅니다.
//flush () 는 버퍼가 가득 찰 때까지 기다리지 않고 버퍼의 데이터를 강제로 전송한다는 것을 의미합니다.
Response.getoutputstream (). flush ();
Response.getoutputstream (). close ();
}