diff --git a/static/cherry/cherry-markdown.js b/static/cherry/cherry-markdown.js index 87bde875..a166a4f8 100644 --- a/static/cherry/cherry-markdown.js +++ b/static/cherry/cherry-markdown.js @@ -21811,7 +21811,7 @@ function handleUpload(editor) { var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'image'; var accept = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '*'; - var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + // var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; // type为上传文件类型 image|video|audio|pdf|word var input = document.createElement('input'); input.type = 'file'; @@ -21819,14 +21819,18 @@ input.value = ''; input.style.display = 'none'; input.accept = accept; // document.body.appendChild(input); + input.multiple = 'multiple'; input.addEventListener('change', function (event) { // @ts-ignore - var _event$target$files = _slicedToArray(event.target.files, 1), - file = _event$target$files[0]; // 文件上传后的回调函数可以由调用方自己实现 - - + // var _event$target$files = _slicedToArray(event.target.files, 1), + // file = _event$target$files[0]; // 文件上传后的回调函数可以由调用方自己实现 + // 3xxx 20240607 + let files = event.target.files; + for (let i = 0; i < files.length; i++) { + var file = files[i] editor.options.fileUpload(file, function (url) { + var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; // 文件上传的默认回调行数,调用方可以完全不使用该函数 @@ -21866,6 +21870,7 @@ editor.editor.doc.replaceSelection(code); }); + } }); input.click(); } diff --git a/static/js/cherry_markdown.js b/static/js/cherry_markdown.js index 6b806254..b8fc9602 100644 --- a/static/js/cherry_markdown.js +++ b/static/js/cherry_markdown.js @@ -612,6 +612,7 @@ function myFileUpload(file, callback) { $.ajax({ url: window.fileUploadURL, // 确保此 URL 是文件上传 API 的正确 URL type: "POST", + async: false, // 3xxx 20240609这里修改为同步,保证cherry批量上传图片时,插入的图片名称是正确的,否则,插入的图片名称都是最后一个名称 dataType: "json", data: formData, processData: false, // 必须设置为 false,因为数据是 FormData 对象,不需要对数据进行序列化处理 @@ -629,10 +630,10 @@ function myFileUpload(file, callback) { }, success: function (data) { layer.close(layerIndex); - if (data.errcode !== 0) { - layer.msg(data.message); + if (data[0].errcode !== 0) { + layer.msg(data[0].message); } else { - callback(data.url); // 假设返回的 JSON 中包含上传文件的 URL,调用回调函数并传入 URL + callback(data[0].url); // 假设返回的 JSON 中包含上传文件的 URL,调用回调函数并传入 URL } } });