From 21ad0632b45a57c2e8c6f747c8923375286b8d13 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Sun, 19 Jun 2022 02:06:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=96=87=E4=BB=B6=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E5=89=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/manage/components/DialogWrapper.vue | 26 ++++++++++----- resources/assets/js/pages/manage/file.vue | 33 +++++++++++-------- 2 files changed, 37 insertions(+), 22 deletions(-) diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index 09a6183b6..b529138cf 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -650,16 +650,24 @@ export default { this.pasteFile = []; this.pasteItem = []; files.some(file => { - let reader = new FileReader(); - reader.readAsDataURL(file); - reader.onload = ({target}) => { + const item = { + type: $A.getMiddle(file.type, null, '/'), + name: file.name, + size: file.size, + result: null + } + if (item.type === 'image') { + const reader = new FileReader(); + reader.readAsDataURL(file); + reader.onload = ({target}) => { + item.result = target.result + this.pasteFile.push(file) + this.pasteItem.push(item) + this.pasteShow = true + } + } else { this.pasteFile.push(file) - this.pasteItem.push({ - type: $A.getMiddle(file.type, null, '/'), - name: file.name, - size: file.size, - result: target.result - }) + this.pasteItem.push(item) this.pasteShow = true } }); diff --git a/resources/assets/js/pages/manage/file.vue b/resources/assets/js/pages/manage/file.vue index 1b1a2dfea..db819ef67 100644 --- a/resources/assets/js/pages/manage/file.vue +++ b/resources/assets/js/pages/manage/file.vue @@ -1540,24 +1540,31 @@ export default { files = Array.prototype.slice.call(files); if (files.length > 0) { e.preventDefault(); - if (files.length > 0) { - this.pasteFile = []; - this.pasteItem = []; - files.some(file => { - let reader = new FileReader(); + // + this.pasteFile = []; + this.pasteItem = []; + files.some(file => { + const item = { + type: $A.getMiddle(file.type, null, '/'), + name: file.name, + size: file.size, + result: null + } + if (item.type === 'image') { + const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = ({target}) => { + item.result = target.result this.pasteFile.push(file) - this.pasteItem.push({ - type: $A.getMiddle(file.type, null, '/'), - name: file.name, - size: file.size, - result: target.result - }) + this.pasteItem.push(item) this.pasteShow = true } - }); - } + } else { + this.pasteFile.push(file) + this.pasteItem.push(item) + this.pasteShow = true + } + }); } },