From b2f9d4e9a4eba56a8e8c360106d59bc8b4034b0f Mon Sep 17 00:00:00 2001 From: Alessio Gravili Date: Mon, 8 Sep 2025 19:14:29 -0700 Subject: [PATCH] fix(storage-vercel-blob): filename is incorrectly stored encoded when addRandomSuffix is true (#13746) Previously, if `addRandomSuffix` is set to true, the filename would be stored URL-encoded in the database: Screenshot 2025-09-08 at 18 47
50@2x If in addition to that, if you set `disablePayloadAccessControl: true`, Payload will url-encode the already url-encoded filename on read, leading to an error. This PR fixes this issue by always decoding the filename before storing it in the database, so that they're always stored unencoded, no matter if `addRandomSuffix` is set or not: Screenshot 2025-09-08 at 18 49
29@2x --- - To see the specific tasks where the Asana app for GitHub is being used, see below: - https://app.asana.com/0/0/1211177878397844 --- packages/storage-vercel-blob/src/handleUpload.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/storage-vercel-blob/src/handleUpload.ts b/packages/storage-vercel-blob/src/handleUpload.ts index f6291a26a..4bf4f53f2 100644 --- a/packages/storage-vercel-blob/src/handleUpload.ts +++ b/packages/storage-vercel-blob/src/handleUpload.ts @@ -31,7 +31,7 @@ export const getHandleUpload = ({ // Get filename with suffix from returned url if (addRandomSuffix) { - data.filename = result.url.replace(`${baseUrl}/`, '') + data.filename = decodeURIComponent(result.url.replace(`${baseUrl}/`, '')) } return data