diff --git a/language/original-web.txt b/language/original-web.txt index eda49fc1d..46ca080f4 100644 --- a/language/original-web.txt +++ b/language/original-web.txt @@ -1277,3 +1277,8 @@ AI机器人 支持 http 或 socks 代理 例如:http://proxy.com 或 socks5://proxy.com 查看 Cookie 中的 sessionKey 便是 + +暂不支持拖拽文件夹。 +暂不支持粘贴文件夹。 +暂不支持拖拽文件夹,请手动上传文件夹。 +暂不支持粘贴文件夹,请手动上传文件夹。 diff --git a/resources/assets/js/functions/web.js b/resources/assets/js/functions/web.js index 552b01eaa..b157595c5 100755 --- a/resources/assets/js/functions/web.js +++ b/resources/assets/js/functions/web.js @@ -869,6 +869,23 @@ url = $A.rightDelete(url, '_thumb.jpg') url = $A.rightDelete(url, '_thumb.png') return url + }, + + /** + * 拖拽或粘贴的数据是否包含文件夹 + * @param data + * @returns {boolean} + */ + dataHasFolder(data) { + const {items} = data; + if (items) { + for (const item of items) { + if (!(item.kind === "file" && item.webkitGetAsEntry().isFile)) { + return true; + } + } + } + return false; } }); diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index 490b138cb..f0bf479fe 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -1582,6 +1582,11 @@ export default { chatPasteDrag(e, type) { this.dialogDrag = false; + if ($A.dataHasFolder(type === 'drag' ? e.dataTransfer : e.clipboardData)) { + e.preventDefault(); + $A.modalWarning(`暂不支持${type === 'drag' ? '拖拽' : '粘贴'}文件夹。`) + return; + } const files = type === 'drag' ? e.dataTransfer.files : e.clipboardData.files; const postFiles = Array.prototype.slice.call(files); if (postFiles.length > 0) { diff --git a/resources/assets/js/pages/manage/components/TaskDetail.vue b/resources/assets/js/pages/manage/components/TaskDetail.vue index e540fb845..bb14dc077 100644 --- a/resources/assets/js/pages/manage/components/TaskDetail.vue +++ b/resources/assets/js/pages/manage/components/TaskDetail.vue @@ -1421,6 +1421,11 @@ export default { taskPasteDrag(e, type) { this.dialogDrag = false; + if ($A.dataHasFolder(type === 'drag' ? e.dataTransfer : e.clipboardData)) { + e.preventDefault(); + $A.modalWarning(`暂不支持${type === 'drag' ? '拖拽' : '粘贴'}文件夹。`) + return; + } const files = type === 'drag' ? e.dataTransfer.files : e.clipboardData.files; this.msgFile = Array.prototype.slice.call(files); if (this.msgFile.length > 0) { diff --git a/resources/assets/js/pages/manage/file.vue b/resources/assets/js/pages/manage/file.vue index 47d22db22..7ff439d9d 100644 --- a/resources/assets/js/pages/manage/file.vue +++ b/resources/assets/js/pages/manage/file.vue @@ -1686,6 +1686,11 @@ export default { filePasteDrag(e, type) { this.dialogDrag = false; + if ($A.dataHasFolder(type === 'drag' ? e.dataTransfer : e.clipboardData)) { + e.preventDefault(); + $A.modalWarning(`暂不支持${type === 'drag' ? '拖拽' : '粘贴'}文件夹,请手动上传文件夹。`) + return; + } this.pasteDragNext(e, type); },