raminr77/ckeditor-upload-image

Incorrect server returned data causes images in ckeditor to not work

Opened this issue · 0 comments

  • This solves the problem that the returned data must have a json data type with the format
  • {default: "<url result after upload>"}

`import axios from "axios";

export default class UploadAdapter {
constructor(loader, url) {
this.url = url;
this.loader = loader;
this.loader.file.then(pic => (this.file = pic));

	this.upload();
}

// Starts the upload process.
upload() {
	const fd = new FormData();
	fd.append("image", this.file); // your image
	// ...

	return new Promise((resolve, reject) => {
		axios
			.post(this.url, fd, {
				onUploadProgress: e => {
					console.log(
						// show upload process
						Math.round((e.loaded / e.total) * 100) + " %"
					);
				}
			})
			.then(response => {
				let json = {
					default: response.data.url
				}
				resolve(json);
			})
			.catch(error => {
				reject("Server Error");
				console.log("Server Error : ", error);
			});
	});
}

}
`