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