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",