Closed ivandowhai closed 2 years ago
Hi, I'm trying to load images and I have an error:
NoMethodError in Ckeditor::PicturesController#create undefined method `size' for nil:NilClass
My editor initialization:
ClassicEditor .create(document.querySelector('#article_body')) .then(editor => { editor.plugins.get('FileRepository').createUploadAdapter = (loader) => { return new UploadAdapter(loader); } }) .catch(error => { console.error(error); });
UploadAdapter:
export class UploadAdapter { constructor(loader) { this.loader = loader; this.url = `/ckeditor/pictures`; this.token = document.getElementsByName('csrf-token')[0].content; } upload() { return new Promise(async (resolve, reject) => { this.loader.file.then((file) => { this._initRequest(); this._initListeners(resolve, reject, file); this._sendRequest(file); }); }); } abort() { if (this.xhr) { this.xhr.abort(); } } _initRequest() { const xhr = (this.xhr = new XMLHttpRequest()); xhr.open("POST", this.url, true); xhr.setRequestHeader("X-CSRF-Token", this.token); xhr.responseType = "json"; } _initListeners(resolve, reject, file) { const xhr = this.xhr; const loader = this.loader; const genericErrorText = "Couldn't upload file:" + ` ${file.name}.`; xhr.addEventListener("error", () => reject(genericErrorText)); xhr.addEventListener("abort", () => reject()); xhr.addEventListener("load", () => { const response = xhr.response; if (!response || response.error) { return reject( response && response.error ? response.error.message : genericErrorText ); } // change "response.data.fullPaths[0]" with image URL resolve({ default: response.data.fullPaths[0], }); }); if (xhr.upload) { xhr.upload.addEventListener("progress", (evt) => { if (evt.lengthComputable) { loader.uploadTotal = evt.total; loader.uploaded = evt.loaded; } }); } } _sendRequest(file) { const data = new FormData(); // change "attachments" key data.append("attachments", file); this.xhr.send(data); } }
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Hi, I'm trying to load images and I have an error:
My editor initialization:
UploadAdapter: