Bläddra i källkod

hotfix for code review

lloydzhou 1 år sedan
förälder
incheckning
862c2e8810
1 ändrade filer med 19 tillägg och 12 borttagningar
  1. 19 12
      app/utils/chat.ts

+ 19 - 12
app/utils/chat.ts

@@ -1,5 +1,4 @@
 import { CACHE_URL_PREFIX, UPLOAD_URL } from "@/app/constant";
-// import heic2any from "heic2any";
 import { RequestMessage } from "@/app/client/api";
 
 export function compressImage(file: Blob, maxSize: number): Promise<string> {
@@ -42,14 +41,18 @@ export function compressImage(file: Blob, maxSize: number): Promise<string> {
     reader.onerror = reject;
 
     if (file.type.includes("heic")) {
-      const heic2any = require("heic2any");
-      heic2any({ blob: file, toType: "image/jpeg" })
-        .then((blob: Blob) => {
-          reader.readAsDataURL(blob);
-        })
-        .catch((e: any) => {
-          reject(e);
-        });
+      try {
+        const heic2any = require("heic2any");
+        heic2any({ blob: file, toType: "image/jpeg" })
+          .then((blob: Blob) => {
+            reader.readAsDataURL(blob);
+          })
+          .catch((e: any) => {
+            reject(e);
+          });
+      } catch (e) {
+        reject(e);
+      }
     }
 
     reader.readAsDataURL(file);
@@ -65,8 +68,12 @@ export async function preProcessImageContent(
   const result = [];
   for (const part of content) {
     if (part?.type == "image_url" && part?.image_url?.url) {
-      const url = await cacheImageToBase64Image(part?.image_url?.url);
-      result.push({ type: part.type, image_url: { url } });
+      try {
+        const url = await cacheImageToBase64Image(part?.image_url?.url);
+        result.push({ type: part.type, image_url: { url } });
+      } catch (error) {
+        console.error("Error processing image URL:", error);
+      }
     } else {
       result.push({ ...part });
     }
@@ -92,7 +99,7 @@ export function cacheImageToBase64Image(imageUrl: string) {
     }
     return Promise.resolve(imageCaches[imageUrl]);
   }
-  return imageUrl;
+  return Promise.resolve(imageUrl);
 }
 
 export function base64Image2Blob(base64Data: string, contentType: string) {