diff --git a/src/store/modules/Operations/FirmwareStore.js b/src/store/modules/Operations/FirmwareStore.js
index 8387109..0015486 100644
--- a/src/store/modules/Operations/FirmwareStore.js
+++ b/src/store/modules/Operations/FirmwareStore.js
@@ -9,6 +9,7 @@
     bmcActiveFirmwareId: null,
     hostActiveFirmwareId: null,
     applyTime: null,
+    multipartHttpPushUri: null,
     httpPushUri: null,
   },
   getters: {
@@ -41,6 +42,8 @@
     setHostFirmware: (state, firmware) => (state.hostFirmware = firmware),
     setApplyTime: (state, applyTime) => (state.applyTime = applyTime),
     setHttpPushUri: (state, httpPushUri) => (state.httpPushUri = httpPushUri),
+    setMultipartHttpPushUri: (state, multipartHttpPushUri) =>
+      (state.multipartHttpPushUri = multipartHttpPushUri),
   },
   actions: {
     async getFirmwareInformation({ dispatch }) {
@@ -110,10 +113,21 @@
           commit('setApplyTime', applyTime);
           const httpPushUri = data.HttpPushUri;
           commit('setHttpPushUri', httpPushUri);
+          const multipartHttpPushUri = data.MultipartHttpPushUri;
+          commit('setMultipartHttpPushUri', multipartHttpPushUri);
         })
         .catch((error) => console.log(error));
     },
-    async uploadFirmware({ state }, image) {
+    async uploadFirmware({ state, dispatch }, params) {
+      if (state.multipartHttpPushUri != null) {
+        return dispatch('uploadFirmwareMultipartHttpPush', params);
+      } else if (state.httpPushUri != null) {
+        return dispatch('uploadFirmwareHttpPush', params);
+      } else {
+        console.log('Do not support firmware push update');
+      }
+    },
+    async uploadFirmwareHttpPush({ state }, { image }) {
       return await api
         .post(state.httpPushUri, image, {
           headers: { 'Content-Type': 'application/octet-stream' },
@@ -125,6 +139,23 @@
           );
         });
     },
+    async uploadFirmwareMultipartHttpPush({ state }, { image, targets }) {
+      const formData = new FormData();
+      formData.append('UpdateFile', image);
+      let params = {};
+      if (targets != null && targets.length > 0) params.Targets = targets;
+      formData.append('UpdateParameters', JSON.stringify(params));
+      return await api
+        .post(state.multipartHttpPushUri, formData, {
+          headers: { 'Content-Type': 'multipart/form-data' },
+        })
+        .catch((error) => {
+          console.log(error);
+          throw new Error(
+            i18n.global.t('pageFirmware.toast.errorUpdateFirmware'),
+          );
+        });
+    },
     async switchBmcFirmwareAndReboot({ getters }) {
       const backupLocation = getters.backupBmcFirmware.location;
       const data = {
diff --git a/src/views/Operations/Firmware/FirmwareFormUpdate.vue b/src/views/Operations/Firmware/FirmwareFormUpdate.vue
index abb25fc..4346747 100644
--- a/src/views/Operations/Firmware/FirmwareFormUpdate.vue
+++ b/src/views/Operations/Firmware/FirmwareFormUpdate.vue
@@ -110,7 +110,9 @@
     },
     dispatchWorkstationUpload(timerId) {
       this.$store
-        .dispatch('firmware/uploadFirmware', this.file)
+        .dispatch('firmware/uploadFirmware', {
+          image: this.file,
+        })
         .catch(({ message }) => {
           this.endLoader();
           this.errorToast(message);
