diff --git a/src/request/assets.rs b/src/request/assets.rs
index 22d4ef6..1c00dd7 100644
--- a/src/request/assets.rs
+++ b/src/request/assets.rs
@@ -162,6 +162,7 @@ impl<'r> Responder<'r, 'static> for DataResponse {
             |duration| Header::new("Cache-Control", format!("public, max-age={duration}")),
         );
 
+        let size = self.data.len();
         let data_full = self.data.full();
 
         if let Ok(raw) = data_full {
@@ -169,6 +170,7 @@ impl<'r> Responder<'r, 'static> for DataResponse {
                 .header(cache_control_header)
                 .header(Header::new("Accept-Ranges", "bytes"))
                 .header(Header::new("Content-Type", self.content_type))
+                .header(Header::new("Content-Length", size.to_string()))
                 .streamed_body(Cursor::new(raw))
                 .finalize())
         } else {
@@ -176,6 +178,7 @@ impl<'r> Responder<'r, 'static> for DataResponse {
                 .header(cache_control_header)
                 .header(Header::new("Accept-Ranges", "bytes"))
                 .header(Header::new("Content-Type", self.content_type))
+                .header(Header::new("Content-Length", size.to_string()))
                 .streamed_body(data_full.unwrap_err())
                 .finalize())
         }