下面是自定義了一個適配器,之前我一直是在
ClassicEditor
.create( editorElement, {
ckfinder: {
uploadUrl: '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files&responseType=json'
}
} )
.then( ... )
.catch( ... );
這里添加了個 ckfinder ,沒弄出來。 所以用了下面 很 賊幾把OK,感謝發我這段代碼的 那位大佬。
// 上傳適配器,格式官網上有,以一種Promise 的方式。Promise好像是有阻塞的意思在里面。 class UploadAdapter { constructor(loader) { this.loader = loader; } upload() { return new Promise((resolve, reject) => { const data = new FormData(); data.append('upload', this.loader.file); data.append('allowSize', 10);//允許圖片上傳的大小/兆 $.ajax({ url: 'loadImage', type: 'POST', data: data, dataType: 'json', processData: false, contentType: false, success: function (data) { if (data.res) { resolve({ default: data.url }); } else { reject(data.msg); } } }); }); } abort() { } } DecoupledEditor .create( document.querySelector( '#b' ), { language:"zh-cn" }) .then( editor => { const toolbarContainer = document.querySelector( '#a' ); toolbarContainer.appendChild( editor.ui.view.toolbar.element ); // 這個地方加載了適配器 editor.plugins.get('FileRepository').createUploadAdapter = (loader)=>{ return new UploadAdapter(loader); }; } ) .catch( error => { console.error( error ); } );
2018年5月7日22:47:58
