From 206393f8b3151a7c51d3b618dfb09f7ccb5cf937 Mon Sep 17 00:00:00 2001 From: Michael Chen Date: Tue, 22 Dec 2020 13:30:06 +0800 Subject: [PATCH 1/3] make csrfName configurable; aware of response filePath --- src/js/easymde.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/js/easymde.js b/src/js/easymde.js index f5758df0..958eaa37 100644 --- a/src/js/easymde.js +++ b/src/js/easymde.js @@ -2328,7 +2328,8 @@ EasyMDE.prototype.uploadImage = function (file, onSuccess, onError) { // insert CSRF token if provided in config. if (self.options.imageCSRFToken) { - formData.append('csrfmiddlewaretoken', self.options.imageCSRFToken); + var csrfName = self.options.imageCSRFName || 'csrfmiddlewaretoken'; + formData.append(csrfName, self.options.imageCSRFToken); } var request = new XMLHttpRequest(); request.upload.onprogress = function (event) { @@ -2347,8 +2348,14 @@ EasyMDE.prototype.uploadImage = function (file, onSuccess, onError) { onErrorSup(fillErrorMessage(self.options.errorMessages.importError)); return; } - if (this.status === 200 && response && !response.error && response.data && response.data.filePath) { - onSuccess(window.location.origin + '/' + response.data.filePath); + if ((this.status === 200 || this.status === 201) && response && !response.error && response.data && response.data.filePath) { + var filePath = response.data.filePath; + if (/https?:\/\//i.test(filePath)) { + onSuccess(filePath); + } else { + onSuccess(window.location.origin + '/' + filePath); + } + } else { if (response.error && response.error in self.options.errorMessages) { // preformatted error message onErrorSup(fillErrorMessage(self.options.errorMessages[response.error])); From 5fc25d80cba9b37dd591b7fbd18c9746f654451c Mon Sep 17 00:00:00 2001 From: Michael Chen Date: Tue, 22 Dec 2020 15:55:44 +0800 Subject: [PATCH 2/3] ignore ext check --- src/js/easymde.js | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/js/easymde.js b/src/js/easymde.js index 958eaa37..5e7eaeae 100644 --- a/src/js/easymde.js +++ b/src/js/easymde.js @@ -813,14 +813,7 @@ function afterImageUploaded(editor, url) { var imageName = url.substr(url.lastIndexOf('/') + 1); var ext = imageName.substring(imageName.lastIndexOf('.') + 1); - // Check if media is an image - if (['png', 'jpg', 'jpeg', 'gif', 'svg'].includes(ext)) { - _replaceSelection(cm, stat.image, options.insertTexts.uploadedImage, url); - } else { - var text_link = options.insertTexts.link; - text_link[0] = '[' + imageName; - _replaceSelection(cm, stat.link, text_link, url); - } + _replaceSelection(cm, stat.image, options.insertTexts.uploadedImage, url); // show uploaded image filename for 1000ms editor.updateStatusBar('upload-image', editor.options.imageTexts.sbOnUploaded.replace('#image_name#', imageName)); From 68b2ab87a4375dafd6e0baa2394b485f59a21e37 Mon Sep 17 00:00:00 2001 From: Michael Chen Date: Tue, 22 Dec 2020 15:58:59 +0800 Subject: [PATCH 3/3] update lint --- src/js/easymde.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/easymde.js b/src/js/easymde.js index 5e7eaeae..f4ef0c06 100644 --- a/src/js/easymde.js +++ b/src/js/easymde.js @@ -811,7 +811,7 @@ function afterImageUploaded(editor, url) { var stat = getState(cm); var options = editor.options; var imageName = url.substr(url.lastIndexOf('/') + 1); - var ext = imageName.substring(imageName.lastIndexOf('.') + 1); + // var ext = imageName.substring(imageName.lastIndexOf('.') + 1); _replaceSelection(cm, stat.image, options.insertTexts.uploadedImage, url);