From 8536692bec03913455a683e062288ea7c96c2f04 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sun, 16 Dec 2018 21:35:36 +0000
Subject: [PATCH] Recovery (download) of backup files started.
---
borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java
index 6cfe285..04e69dd 100644
--- a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java
+++ b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java
@@ -15,6 +15,7 @@
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
import java.util.List;
@Path("/archives")
@@ -66,4 +67,24 @@
}
return JsonUtils.toJson(items, prettyPrinter);
}
+
+ @GET
+ @Path("/download")
+ @Produces(MediaType.APPLICATION_OCTET_STREAM)
+ /**
+ * @param archiveId
+ * @param fileNumber The fileNumber of the file in the archive served by BorgButler's
+ * {@link #getArchiveFileLIst(String, String, String, boolean, boolean)}
+ */
+ public Response downloadFilebyPath(@QueryParam("archiveId") String archiveId, @QueryParam("fileNumber") int fileNumber) {
+ log.info("Downloading file #" + fileNumber + " of archive '" + archiveId + "'.");
+ return null;
+/* byte[] byteArray = result.getAsByteArrayOutputStream().toByteArray();
+ Response.ResponseBuilder builder = Response.ok(byteArray);
+ builder.header("Content-Disposition", "attachment; filename=" + filename);
+ // Needed to get the Content-Disposition by client:
+ builder.header("Access-Control-Expose-Headers", "Content-Disposition");
+ Response response = builder.build();
+ return response;*/
+ }
}
--
Gitblit v1.10.0