Page tree
Skip to end of metadata
Go to start of metadata

릴리즈 2.2.0 이상

이미지 업로드가 완료된 후 발생합니다.

이벤트 등록

API 사용

var editorId = 'synapEditor';
var editorConfig = {};
var html = '';
var editor = new SynapEditor(editorId, editorConfig, html);


editor.setEventListener('afterUploadImage', function (e) {
});

함수방식

var editorId = 'synapEditor';
var editorConfig = {};
var html = '';

function SynapEditorAfterUploadImage(e) {
}

new SynapEditor(editorId, editorConfig, html);

에디터 초기화시 등록

var editorId = 'synapEditor';
var editorConfig = {};
var html = '';
var eventListeners = {
    afterUploadImage: function (e) {
    }
};

new SynapEditor(editorId, editorConfig, html, eventListeners);

함수로 전달되는 객체 형태

함수로 전달되는 파라미터 e의 형식

e
// release 2.2.0
{
	editor: SynapEditor,
	eventType:  'afterUploadImage',
	cancelable: false,
	returnValue: null,
	path: '/upload/path/filename.png', // 업로드된 경로
	elementId: 'se-123456-abcdefg-7890', // HTML Element Id (wapper)
	isBackground: false // 배경이미지인지 여부
}
// release 2.2.1 이상
{
	editor: SynapEditor,
	eventType:  'afterUploadImage',
	cancelable: false,
	returnValue: null,
	fileType: 'image', // [2.2.1] 파일 타입
	path: '/upload/path/filename.png',
	elementId: 'se-123456-abcdefg-7890',
	isBackground: false
}
// release 2.10.0 이상
{
	editor: SynapEditor,
	eventType:  'afterUploadImage',
	cancelable: false,
	returnValue: null,
	fileType: 'image', 
	path: '/upload/path/filename.png',
	responseData: {},	// [2.10.0] 전체 response 정보
	elementId: 'se-123456-abcdefg-7890',
	isBackground: false
}
// release 2.15.0 이상
{
	editor: SynapEditor,
	eventType:  'afterUploadImage',
	cancelable: false,
	returnValue: null,
	fileType: 'image', 
	path: '/upload/path/filename.png',
	responseData: {},
	elementId: 'se-123456-abcdefg-7890',
	isBackground: false,
    error: undefined   // [2.15.0] 업로드 실패시 에러 정보
}

이미지 업로드 실패

릴리즈 2.15.0 이상

2.15.0 릴리즈부터는 업로드가 실패했을 때에도 afterUploadImage 이벤트가 발생합니다.

업로드가 실패했을 때 afterUploadImage 이벤트에 전달되는 객체의 error 프로퍼티에 Error 객체가 전달됩니다.

업로드가 실패했을 때 실패한 이미지 제거 예시

editor.setEventListener('afterUploadImage', function (e) {
    if (e.error && e.error.status === 500) {
        e.editor.execCommand('showDialog', 'alert', '이미지 업로드에 실패했습니다.');
        var image = e.editor.getAPIModelById(e.elementId);
        image.remove();
    }
});
  • No labels