afterUploadImage
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);
함수에 전달된 객체의 Shape
함수에 전달되는 매개변수 e의 형태는 다음과 같습니다.
// release 2.2.0
e = {
editor: SynapEditor,
eventType: 'afterUploadImage',
cancelable: false,
returnValue: null,
path: '/upload/path/filename.png', // Uploaded path
elementId: 'se-123456-abcdefg-7890', // HTML Element Id (wrapper)
isBackground: false // Whether it is a background image
}
// release 2.2.1 and above
e = {
editor: SynapEditor,
eventType: 'afterUploadImage',
cancelable: false,
returnValue: null,
fileType: 'image', // [2.2.1] File type
path: '/upload/path/filename.png',
elementId: 'se-123456-abcdefg-7890',
isBackground: false
}
// release 2.10.0 and above
e = {
editor: SynapEditor,
eventType: 'afterUploadImage',
cancelable: false,
returnValue: null,
fileType: 'image',
path: '/upload/path/filename.png',
responseData: {}, // [2.10.0] Full response information
elementId: 'se-123456-abcdefg-7890',
isBackground: false
}
// release 2.15.0 and above
e = {
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] Error information when upload fails
}
이미지 업로드 실패
2.15.0 버전부터 지원합니다.
릴리즈 2.15.0부터, 업로드가 실패할 때도 afterUploadImage 이벤트가 발생합니다.
업로드가 실패하면 Error 객체가 afterUploadImage 이벤트 객체의 error 속성에 담깁니다.
업로드 실패 시 해당 이미지를 제거하는 예시:
editor.setEventListener('afterUploadImage', function (e) {
if (e.error && e.error.status === 500) {
e.editor.execCommand('showDialog', 'alert', 'Image upload failed.');
var image = e.editor.getAPIModelById(e.elementId);
image.remove();
}
});