下面是自定義了一個適配器,之前我一直是在
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