From fc92ef0855790ae77c359255e43dc65135aa72f4 Mon Sep 17 00:00:00 2001 From: Andrew Gaul Date: Fri, 13 Dec 2024 21:25:07 -0800 Subject: [PATCH] Replace backslash path separator on Windows References #740. --- .../org/gaul/s3proxy/nio2blob/AbstractNio2BlobStore.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/org/gaul/s3proxy/nio2blob/AbstractNio2BlobStore.java b/src/main/java/org/gaul/s3proxy/nio2blob/AbstractNio2BlobStore.java index a29a172..f2ab575 100644 --- a/src/main/java/org/gaul/s3proxy/nio2blob/AbstractNio2BlobStore.java +++ b/src/main/java/org/gaul/s3proxy/nio2blob/AbstractNio2BlobStore.java @@ -237,6 +237,9 @@ public abstract class AbstractNio2BlobStore extends BaseBlobStore { var view = Files.getFileAttributeView(path, UserDefinedFileAttributeView.class); if ((view != null && Set.copyOf(view.list()).contains(XATTR_CONTENT_MD5)) || "/".equals(delimiter)) { var name = path.toString().substring((root.resolve(container) + "/").length()); + if (path.getFileSystem().getSeparator().equals("\\")) { + name = name.replace('\\', '/'); + } logger.debug("adding prefix: {}", name); builder.add(new StorageMetadataImpl( StorageType.RELATIVE_PATH, @@ -248,6 +251,9 @@ public abstract class AbstractNio2BlobStore extends BaseBlobStore { } } else { var name = path.toString().substring((root.resolve(container) + "/").length()); + if (path.getFileSystem().getSeparator().equals("\\")) { + name = name.replace('\\', '/'); + } logger.debug("adding: {}", name); var attr = Files.readAttributes(path, BasicFileAttributes.class); var lastModifiedTime = new Date(attr.lastModifiedTime().toMillis());