From eff0e3f4a42031b78932e4f639450b4d70fff646 Mon Sep 17 00:00:00 2001
From: Dipam Sen <dipamsen.fp@gmail.com>
Date: Mon, 24 Mar 2025 16:43:08 +0000
Subject: [PATCH] fix: set correct mimetype for project asset

---
 server/controllers/project.controller.js | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/server/controllers/project.controller.js b/server/controllers/project.controller.js
index 21bb410182..af8e8e9e9e 100644
--- a/server/controllers/project.controller.js
+++ b/server/controllers/project.controller.js
@@ -2,6 +2,7 @@ import JSZip from 'jszip';
 import format from 'date-fns/format';
 import isUrl from 'is-url';
 import { JSDOM } from 'jsdom';
+import mime from 'mime';
 import isAfter from 'date-fns/isAfter';
 import axios from 'axios';
 import slugify from 'slugify';
@@ -125,7 +126,10 @@ export async function getProjectAsset(req, res) {
   if (!resolvedFile) {
     return res.status(404).send({ message: 'Asset does not exist' });
   }
+  const contentType =
+    mime.getType(resolvedFile.name) || 'application/octet-stream';
   if (!resolvedFile.url) {
+    res.set('Content-Type', contentType);
     return res.send(resolvedFile.content);
   }
 
@@ -133,6 +137,7 @@ export async function getProjectAsset(req, res) {
     const { data } = await axios.get(resolvedFile.url, {
       responseType: 'arraybuffer'
     });
+    res.set('Content-Type', contentType);
     return res.send(data);
   } catch (error) {
     return res.status(404).send({ message: 'Asset does not exist' });