From d5b47d51876da1ab1a2b382cddc3e253802d646b Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Sat, 06 Jul 2024 11:52:19 +0800 Subject: [PATCH] 小程序图片压缩,第一部分 --- forms/imagePicker/CImageCompressor.vue | 9 ++++++++- forms/imagePicker/CImagePicker.vue | 9 +++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/forms/imagePicker/CImageCompressor.vue b/forms/imagePicker/CImageCompressor.vue index a0106dd..01933b8 100644 --- a/forms/imagePicker/CImageCompressor.vue +++ b/forms/imagePicker/CImageCompressor.vue @@ -140,7 +140,14 @@ const [key, params] = step; if (key === 'drawImage') { // 使用图片 - const img = new Image(); + const img = (() => { + if (typeof Image === 'undefined') { + console.log(this.$refs.canvas); + return this.$refs.canvas.createImage(); + } else { + return new Image(); + } + })(); img.src = tempPath; this.canvasContext.drawImage(img, ...params); } else { diff --git a/forms/imagePicker/CImagePicker.vue b/forms/imagePicker/CImagePicker.vue index d9b581f..e255fec 100644 --- a/forms/imagePicker/CImagePicker.vue +++ b/forms/imagePicker/CImagePicker.vue @@ -138,8 +138,13 @@ const needs = nextFiles .map((file, needIndex) => { const fileInfo = file.file; - // 没有 file 信息对象,或者不是 blob 类型 - if (!fileInfo || fileInfo.path.indexOf('blob') < 0) { + // 没有 file 信息对象,或者不是 blob、wxfile、tmp 类型 + if ( + !fileInfo || + (fileInfo.path.indexOf('blob') < 0 && + fileInfo.path.indexOf('wxfile') < 0 && + fileInfo.path.indexOf('http://tmp/') < 0) + ) { return false; } // 尺寸小于 1M 的图片 -- Gitblit v1.9.1