From 71f290f4c18c5505e885f8507b903ea0520fb519 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Thu, 4 Aug 2022 12:06:17 +0200 Subject: [PATCH] Upload: Handle file upload errors gracefully --- .../AssetCard/UploadingAssetCard.js | 19 +++++++++++++++---- .../upload/admin/src/translations/en.json | 1 + 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/core/upload/admin/src/components/AssetCard/UploadingAssetCard.js b/packages/core/upload/admin/src/components/AssetCard/UploadingAssetCard.js index 759de52778..b8307712be 100644 --- a/packages/core/upload/admin/src/components/AssetCard/UploadingAssetCard.js +++ b/packages/core/upload/admin/src/components/AssetCard/UploadingAssetCard.js @@ -108,10 +108,21 @@ export const UploadingAssetCard = ({ {error ? ( - {formatMessage({ - id: getTrad(`apiError.${error.response.data.error.message}`), - defaultMessage: error.response.data.error.message, - })} + {formatMessage( + error?.response?.data?.error?.message + ? { + id: getTrad(`apiError.${error.response.data.error.message}`), + defaultMessage: error.response.data.error.message, + /* See issue: https://github.com/strapi/strapi/issues/13867 + A proxy might return an error, before the request reaches Strapi + and therefore we need to handle errors gracefully. + */ + } + : { + id: getTrad('upload.generic-error'), + defaultMessage: 'An error occured while uploading the file.', + } + )} ) : ( undefined diff --git a/packages/core/upload/admin/src/translations/en.json b/packages/core/upload/admin/src/translations/en.json index 440658908c..864a42f001 100644 --- a/packages/core/upload/admin/src/translations/en.json +++ b/packages/core/upload/admin/src/translations/en.json @@ -1,5 +1,6 @@ { "apiError.FileTooBig": "The uploaded file exceeds the maximum allowed asset size.", + "upload.generic-error": "An error occurred while uploading the file.", "bulk.select.label": "Select all assets", "button.next": "Next", "checkControl.crop-duplicate": "Duplicate & crop the asset",