diff --git a/handlers.py b/handlers.py index d86b235..e82d94c 100644 --- a/handlers.py +++ b/handlers.py @@ -323,9 +323,19 @@ class FileServerHandler(BaseHTTPRequestHandler): if not mime_type: mime_type = "application/octet-stream" + # Maybe you don't want to transform your FS into CDN? + if CONFIG.get("server", {}).get("video_and_image_preview", True): + # Determine if the file should be displayed inline or downloaded + if mime_type.startswith(("image/", "video/", "audio/")): + disposition = "inline" + else: + disposition = f'attachment; filename="{filename}"' + else: + disposition = f'attachment; filename="{filename}"' + self.send_response(200) self.send_header("Content-Type", mime_type) - self.send_header("Content-Disposition", f'attachment; filename="{filename}"') + self.send_header("Content-Disposition", disposition) self.end_headers() with open(filepath, "rb") as f: