diff --git a/Composer/packages/client/src/recoilModel/dispatchers/storage.ts b/Composer/packages/client/src/recoilModel/dispatchers/storage.ts index 6991a6b1f7..39a36ec702 100644 --- a/Composer/packages/client/src/recoilModel/dispatchers/storage.ts +++ b/Composer/packages/client/src/recoilModel/dispatchers/storage.ts @@ -76,7 +76,7 @@ export const storageDispatcher = () => { (callbackHelpers: CallbackInterface) => async (id: string, path: string) => { const { set } = callbackHelpers; try { - const response = await httpClient.get(`/storages/${id}/blobs`, { params: { path } }); + const response = await httpClient.get(`/storages/${id}/blobs`, { params: { path: encodeURIComponent(path) } }); const fetchedFocusStorage = response.data; fetchedFocusStorage.children = fetchedFocusStorage.children.reduce((files, file) => { if (file.type === FileTypes.FOLDER) { diff --git a/Composer/packages/server/src/controllers/storage.ts b/Composer/packages/server/src/controllers/storage.ts index ac2dece498..fe3375a597 100644 --- a/Composer/packages/server/src/controllers/storage.ts +++ b/Composer/packages/server/src/controllers/storage.ts @@ -51,7 +51,7 @@ async function getBlob(req: Request, res: Response) { if (!req.query.path) { throw new Error('path missing from query'); } - const reqpath = decodeURI(req.query.path); + const reqpath = decodeURIComponent(req.query.path); if (!Path.isAbsolute(reqpath)) { throw new Error('path must be absolute'); }