diff --git a/src/controllers/premium-album-controller.ts b/src/controllers/premium-album-controller.ts
index 651b430fb65dd6c134e0c4373cf80ed57fd86d08..bddbdef5dddfef6271819716bf9e906783f9ae18 100644
--- a/src/controllers/premium-album-controller.ts
+++ b/src/controllers/premium-album-controller.ts
@@ -6,6 +6,7 @@ import {ErrorType, StandardError} from "../errors/standard-error";
 import phpClient from "../clients/php-client";
 import * as path from "path";
 import {v4 as uuidv4} from 'uuid';
+import saveFile from "../utils/file-processing";
 
 const createPremiumAlbum = async (
   req: Request,
@@ -31,6 +32,7 @@ const createPremiumAlbum = async (
         },
         true
     )
+    await saveFile(req.file, data.coverFilename)
     generateResponse(res, StatusCodes.OK, responseData);
   } catch (err) {
     next(err);
@@ -134,6 +136,9 @@ const updatePremiumAlbum = async (
           },
           true
       )
+      // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+      // @ts-ignore
+      await saveFile(req.files[0], data.coverFilename)
     }
     generateResponse(res, StatusCodes.OK, updatedPremiumAlbum);
   } catch (err) {
diff --git a/src/controllers/premium-song-controller.ts b/src/controllers/premium-song-controller.ts
index a39b534f0165c2bc19049dfa4abfe4c457035b9c..104df9bbf89699afe78bdeb7233dbb89eb11d847 100644
--- a/src/controllers/premium-song-controller.ts
+++ b/src/controllers/premium-song-controller.ts
@@ -6,6 +6,7 @@ import {ErrorType, StandardError} from "../errors/standard-error";
 import phpClient from "../clients/php-client";
 import {v4 as uuidv4} from "uuid";
 import path from "path";
+import saveFile from "../utils/file-processing";
 
 const addNewSong = async (
     req: Request,
@@ -36,6 +37,7 @@ const addNewSong = async (
             },
             true
         )
+        await saveFile(req.file, data.audioFilename)
         generateResponse(res, StatusCodes.OK, responseData);
     } catch (err) {
         next(err);
@@ -101,6 +103,9 @@ const updatePremiumSong = async (
                 },
                 true
             )
+            // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+            // @ts-ignore
+            await saveFile(req.files[0], data.audioFilename)
         }
         generateResponse(res, StatusCodes.OK, responseData);
     } catch (err) {
diff --git a/src/utils/file-processing.ts b/src/utils/file-processing.ts
index d12460675c2d37c9993ce0b2fc0d986b19d50c83..6730d37f6158c818273537678bcb4c48af0b2a8c 100644
--- a/src/utils/file-processing.ts
+++ b/src/utils/file-processing.ts
@@ -1 +1,14 @@
-// TODO : save file to local storage
\ No newline at end of file
+// TODO : save file to local storage
+import fs from "fs";
+
+const saveFile = async (file : Express.Multer.File, path : string) => {
+  // save to './storage' folder
+  fs.writeFile("./storage/" + path, file.buffer, (err) => {
+    if (err) {
+      console.log(err);
+      throw err;
+    }
+  });
+}
+
+export default saveFile;
\ No newline at end of file