diff --git a/src/controllers/premium-album-controller.ts b/src/controllers/premium-album-controller.ts
index 3bd4b03cc97a4b913620c5b2feb3ba544f19fb24..caf1fb99e04ffb759fc6bf8cfa860dff8956641a 100644
--- a/src/controllers/premium-album-controller.ts
+++ b/src/controllers/premium-album-controller.ts
@@ -10,7 +10,8 @@ const createPremiumAlbum = async (
 ): Promise<void> => {
   try {
     const data = req.body;
-    const responseData = await PremiumAlbumService.createPremiumAlbum(data);
+    const coverFile = req.file;
+    const responseData = await PremiumAlbumService.createPremiumAlbum(data, coverFile);
     generateResponse(res, StatusCodes.OK, responseData);
   } catch (err) {
     next(err);
@@ -44,10 +45,12 @@ const updatePremiumAlbum = async (
   try {
     const premiumAlbumId = Number(req.params.premiumAlbumId);
     const data = req.body;
+    const coverFile = req.file;
 
     const updatedPremiumAlbum = await PremiumAlbumService.updatePremiumAlbum(
       data,
       premiumAlbumId,
+      coverFile
     );
     generateResponse(res, StatusCodes.OK, updatedPremiumAlbum);
   } catch (err) {
diff --git a/src/services/premium-album-service.ts b/src/services/premium-album-service.ts
index 4f181bea6a6a4450b3116fe1eac0bfbfd8abc90c..1f2edc2cfac5b2c58d8ec166c7414c0fcc2a8ebe 100644
--- a/src/services/premium-album-service.ts
+++ b/src/services/premium-album-service.ts
@@ -3,19 +3,27 @@ import prismaClient from "../cores/db";
 import { ErrorType, StandardError } from "../errors/standard-error";
 import {validate} from "../validation/validation";
 import {createPremiumAlbumSchema, searchPremiumAlbumSchema, deletePremiumAlbumSchema, updatePremiumAlbumSchema} from "../validation/premium-album-validation";
+import { saveFile } from "../utils/FileProcessing";
 
 const createPremiumAlbum = async (
   data: Prisma.PremiumAlbumCreateInput,
+  coverFile: Express.Multer.File | undefined,
 ): Promise<PremiumAlbum> => {
   validate(createPremiumAlbumSchema, data)
 
+  if (!coverFile) {
+    throw new StandardError(ErrorType.FILE_NOT_VALID);
+  }
+
+  const coverFileName = await saveFile(coverFile);
+
   return prismaClient.premiumAlbum.create({
     data: {
       albumName: data.albumName,
       releaseDate: data.releaseDate,
       genre: data.genre,
       artist: data.artist,
-      coverFilename: data.coverFilename,
+      coverFilename: coverFileName,
     },
   });
 };
@@ -75,6 +83,7 @@ const searchPremiumAlbum = async (reqQuery: {
 const updatePremiumAlbum = async (
   inputData: Prisma.PremiumAlbumUpdateInput,
   premiumAlbumId: number,
+  coverFile: Express.Multer.File | undefined,
 ): Promise<PremiumAlbum> => {
   validate(updatePremiumAlbumSchema, {premiumAlbumId, ...inputData})
 
@@ -88,6 +97,13 @@ const updatePremiumAlbum = async (
     throw new StandardError(ErrorType.ALBUM_NOT_FOUND);
   }
 
+  if (!coverFile) {
+    throw new StandardError(ErrorType.INPUT_DATA_NOT_VALID);
+  }
+
+  const coverFileName = await saveFile(coverFile);
+  inputData.coverFilename = coverFileName;
+
   return prismaClient.premiumAlbum.update({
     where: {
       albumId: premiumAlbumId,