diff --git a/backend/apps/files/views.py b/backend/apps/files/views.py
index 72252f5..62317ca 100644
--- a/backend/apps/files/views.py
+++ b/backend/apps/files/views.py
@@ -9,16 +9,33 @@ from sorl.thumbnail import get_thumbnail
 from .models import PostFileModel
 
 
+THUMBNAIL_SIZES = {
+    "sx": (64, ".thumb_64.jpg"),
+    "sm": (256, ".thumb_256.jpg"),
+    "md": (748, ".thumb_748.jpg"),
+    "lg": (1024, ".thumb_1024.jpg"),
+    "xl": (2048, ".thumb_2048.jpg"),
+}
+
+
+def get_thumbnail_file(source_path, size_key):
+    """Generates and retrieves the thumbnail file."""
+    size, suffix = THUMBNAIL_SIZES.get(size_key, (None, ""))
+    if size:
+        thumbnail_file = get_thumbnail(source_path, str(size), upscale=False)
+        return os.path.abspath(
+            os.path.join(settings.MEDIA_ROOT, thumbnail_file.name)
+        ), suffix
+    return None, ""
+
+
 def serve_content_file(request, file_hash):
     """
-    View function to serve content files for download or inline viewing
+    View function to serve content files for download or inline viewing.
     """
 
-    print(f"Requesting file: {file_hash}")
-
-    download = request.GET.get("d")
-
-    thumbnail = request.GET.get("t")
+    download = request.GET.get("d") == "0"
+    thumbnail_key = request.GET.get("t")
 
     try:
         obj_file = get_object_or_404(PostFileModel, hash_blake3=file_hash)
@@ -26,53 +43,24 @@ def serve_content_file(request, file_hash):
         file_type = obj_file.file_type
         source_file = obj_file.file
 
-        if thumbnail:
-            if file_type != "image":
-                source_file = obj_file.thumbnail
+        # Use thumbnail if requested and file type is image
+        if thumbnail_key and file_type != "image":
+            source_file = obj_file.thumbnail
 
-        if thumbnail == "sx":
-            file_name += ".thumb_64.jpg"
-            thumbnail_file = get_thumbnail(source_file.path, "64", upscale=False)
-            file = open(
-                os.path.abspath(os.path.join(settings.MEDIA_ROOT, thumbnail_file.name)),
-                "rb",
-            )
-        elif thumbnail == "sm":
-            file_name += ".thumb_256.jpg"
-            thumbnail_file = get_thumbnail(source_file.path, "256", upscale=False)
-            file = open(
-                os.path.abspath(os.path.join(settings.MEDIA_ROOT, thumbnail_file.name)),
-                "rb",
-            )
-        elif thumbnail == "md":
-            file_name += ".thumb_748.jpg"
-            thumbnail_file = get_thumbnail(source_file.path, "748", upscale=False)
-            file = open(
-                os.path.abspath(os.path.join(settings.MEDIA_ROOT, thumbnail_file.name)),
-                "rb",
-            )
-        elif thumbnail == "lg":
-            file_name += ".thumb_1024.jpg"
-            thumbnail_file = get_thumbnail(source_file.path, "1024", upscale=False)
-            file = open(
-                os.path.abspath(os.path.join(settings.MEDIA_ROOT, thumbnail_file.name)),
-                "rb",
-            )
-        elif thumbnail == "xl":
-            file_name += ".thumb_2048.jpg"
-            thumbnail_file = get_thumbnail(source_file.path, "2048", upscale=False)
-            file = open(
-                os.path.abspath(os.path.join(settings.MEDIA_ROOT, thumbnail_file.name)),
-                "rb",
-            )
+        # Retrieve the requested thumbnail file if applicable
+        if thumbnail_key in THUMBNAIL_SIZES:
+            thumbnail_path, suffix = get_thumbnail_file(source_file.path, thumbnail_key)
+            if thumbnail_path:
+                file_name += suffix
+                file = open(thumbnail_path, "rb")
+            else:
+                file = source_file.file
         else:
             file = source_file.file
 
         response = FileResponse(file)
-        if download == "1":
-            response["Content-Disposition"] = f'attachment; filename="{file_name}"'
-        else:
-            response["Content-Disposition"] = f'inline; filename="{file_name}"'
+        disposition_type = "attachment" if download else "inline"
+        response["Content-Disposition"] = f'{disposition_type}; filename="{file_name}"'
 
         return response