diff --git a/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx b/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx index 008d05416d..98d929ad7b 100644 --- a/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx +++ b/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx @@ -122,6 +122,7 @@ import TooltipWrapper from "../../../../Common/TooltipWrapper/TooltipWrapper"; import ListObjectsTable from "./ListObjectsTable"; import FilterObjectsSB from "../../../../ObjectBrowser/FilterObjectsSB"; import AddAccessRule from "../../../BucketDetails/AddAccessRule"; +import { sanitizeFilePath } from "./utils"; const DeleteMultipleObjects = withSuspense( React.lazy(() => import("./DeleteMultipleObjects")), @@ -506,7 +507,7 @@ const ListObjects = () => { const blobFile = new Blob([file], { type: file.type }); - const filePath = get(file, "path", ""); + const filePath = sanitizeFilePath(get(file, "path", "")); const fileWebkitRelativePath = get(file, "webkitRelativePath", ""); let relativeFolderPath = folderPath; diff --git a/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx b/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx index a0139f54ba..fb303a106a 100644 --- a/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx +++ b/web-app/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx @@ -134,3 +134,8 @@ export const displayFileIconName = ( return ; }; + +export const sanitizeFilePath = (filePath: string) => { + // Replace `./` at the start of the path or preceded by `/` - happens when drag drop upload of files (not folders !) in chrome + return filePath.replace(/(^|\/)\.\//g, "/"); +};