Explorar el Código

fix:Improve MIME type detection for remote URL uploads using python-magic (#12693)

yjc980121 hace 2 meses
padre
commit
aad7e4dd1c
Se han modificado 1 ficheros con 8 adiciones y 0 borrados
  1. 8 0
      api/controllers/common/helpers.py

+ 8 - 0
api/controllers/common/helpers.py

@@ -7,6 +7,7 @@ from typing import Any
 from uuid import uuid4
 
 import httpx
+import magic
 from pydantic import BaseModel
 
 from configs import dify_config
@@ -47,6 +48,13 @@ def guess_file_info_from_response(response: httpx.Response):
         # If guessing fails, use Content-Type from response headers
         mimetype = response.headers.get("Content-Type", "application/octet-stream")
 
+    # Use python-magic to guess MIME type if still unknown or generic
+    if mimetype == "application/octet-stream":
+        try:
+            mimetype = magic.from_buffer(response.content[:1024], mime=True)
+        except magic.MagicException:
+            pass
+
     extension = os.path.splitext(filename)[1]
 
     # Ensure filename has an extension