Переглянути джерело

fix(files): update Content-Length handling for tool and remote files (#9649)

-LAN- 6 місяців тому
батько
коміт
d6e8290a1c
2 змінених файлів з 4 додано та 4 видалено
  1. 3 3
      api/controllers/files/tool_files.py
  2. 1 1
      api/controllers/web/file.py

+ 3 - 3
api/controllers/files/tool_files.py

@@ -42,10 +42,10 @@ class ToolFilePreviewApi(Resource):
             stream,
             mimetype=tool_file.mimetype,
             direct_passthrough=True,
-            headers={
-                "Content-Length": str(tool_file.size),
-            },
+            headers={},
         )
+        if tool_file.size > 0:
+            response.headers["Content-Length"] = str(tool_file.size)
         if args["as_attachment"]:
             response.headers["Content-Disposition"] = f"attachment; filename={tool_file.name}"
 

+ 1 - 1
api/controllers/web/file.py

@@ -46,7 +46,7 @@ class RemoteFileInfoApi(WebApiResource):
             response = ssrf_proxy.head(decoded_url)
             return {
                 "file_type": response.headers.get("Content-Type", "application/octet-stream"),
-                "file_length": int(response.headers.get("Content-Length", 0)),
+                "file_length": int(response.headers.get("Content-Length", -1)),
             }
         except Exception as e:
             return {"error": str(e)}, 400