diff --git a/src/mapping/tree.ts b/src/mapping/tree.ts
index c2935cc138fc2cf481ada2af9178ba896c91b97d..724a5c3b27089188228c9f8fdb82f9bb77638f42 100644
--- a/src/mapping/tree.ts
+++ b/src/mapping/tree.ts
@@ -37,6 +37,7 @@ const configuration = new MapperConfiguration((cfg) => {
         return { [version]: factory.dataset() as unknown as Dataset };
       }), // Set outside of the mapper
     versions: (opt) => opt.mapFrom((_) => [version]),
+    actions: (opt) => opt.mapFrom((dto) => dto.actions),
   });
 
   cfg.createMap(TreeDto2FolderInformation, {
diff --git a/src/modules/resource/components/resource-page/FilesView.vue b/src/modules/resource/components/resource-page/FilesView.vue
index b06ac4e1f77155860f4be2be8453abfa679a56da..6a3c89f7b5249f845767d2c12147b4a6d2b2b26e 100644
--- a/src/modules/resource/components/resource-page/FilesView.vue
+++ b/src/modules/resource/components/resource-page/FilesView.vue
@@ -732,6 +732,7 @@ export default defineComponent({
           this.resource.id,
           file.path,
           file.name,
+          file.actions,
         );
       }
     },
diff --git a/src/modules/resource/components/resource-page/MetadataManager.vue b/src/modules/resource/components/resource-page/MetadataManager.vue
index d6642cb850e3861ce6eed091c3a0232c55078858..5746b04c42310a0c3c923c94b58838245245858c 100644
--- a/src/modules/resource/components/resource-page/MetadataManager.vue
+++ b/src/modules/resource/components/resource-page/MetadataManager.vue
@@ -996,6 +996,7 @@ export default defineComponent({
             this.resource.id,
             editableFile.path,
             editableFile.name,
+            editableFile.actions,
           );
         }
       }
diff --git a/src/modules/resource/store.ts b/src/modules/resource/store.ts
index 61f66b2deb3e2cf8929fd8a249e4969fef477787..81f17c43efa56af75b3c58d37a6d3f4fc3ae0684 100644
--- a/src/modules/resource/store.ts
+++ b/src/modules/resource/store.ts
@@ -34,6 +34,7 @@ import {
 import factory from "rdf-ext";
 import fileSaver from "file-saver";
 import type {
+  FileActionsDto,
   RdfFormat,
   GitlabBranchDto,
   GitlabProjectDto,
@@ -49,6 +50,7 @@ import type {
 } from "@coscine/api-client/dist/types/Coscine.Api";
 import { wrapListRequest } from "@/util/wrapListRequest";
 import i18n from "@/plugins/vue-i18n";
+
 /*  
   Store variable name is "this.<id>Store"
     id: "resource" --> this.resourceStore
@@ -836,24 +838,35 @@ export const useResourceStore = defineStore({
       resourceId: string,
       path: string,
       name: string,
+      actions?: FileActionsDto,
     ) {
       const notificationStore = useNotificationStore();
       try {
-        const response = await this.getBlob(projectId, resourceId, path, true);
-        if (response !== null) {
-          // Trigger file download
-          fileSaver.saveAs(
-            new Blob([response.data], {
-              type: response.headers["content-type"],
-            }),
-            name,
-          );
+        // Easiest case: Use the provided download URL
+        if (actions?.download?.url) {
+          window.open(actions.download.url, "_blank");
         } else {
-          // Handle other Status Codes
-          notificationStore.postGeneralApiWarningNotification(
-            "No Download Response",
+          const response = await this.getBlob(
+            projectId,
+            resourceId,
+            path,
+            true,
           );
-          return null;
+          if (response !== null) {
+            // Trigger file download
+            fileSaver.saveAs(
+              new Blob([response.data], {
+                type: response.headers["content-type"],
+              }),
+              name,
+            );
+          } else {
+            // Handle other Status Codes
+            notificationStore.postGeneralApiWarningNotification(
+              "No Download Response",
+            );
+            return null;
+          }
         }
       } catch (error) {
         // Handle other Status Codes
diff --git a/src/modules/resource/types.ts b/src/modules/resource/types.ts
index 04dca8da4292cd2ad378b873bd9839f0dd8a55ec..918c0dcc61df0ed0818aeca1e5530af10ab24d10 100644
--- a/src/modules/resource/types.ts
+++ b/src/modules/resource/types.ts
@@ -4,6 +4,7 @@ import {
 } from "@coscine/api-client/dist/types/Coscine.Api";
 import type {
   ApplicationProfileDto,
+  FileActionsDto,
   GitlabBranchDto,
   GitlabProjectDto,
   Pagination,
@@ -222,6 +223,7 @@ export interface GeneralInformation {
   versions: number[];
   latestVersion: number;
   currentVersion: number;
+  actions?: FileActionsDto;
   lastModified?: string | null;
   readOnly?: boolean;
   createdAt?: string;