diff --git a/src/libs/fileDownload/getAttachmentDetails.js b/src/libs/fileDownload/getAttachmentDetails.js index 8b8e777ab911..8a465403f8a8 100644 --- a/src/libs/fileDownload/getAttachmentDetails.js +++ b/src/libs/fileDownload/getAttachmentDetails.js @@ -6,11 +6,12 @@ import Config from '../../CONFIG'; * @param {String} html * @returns {Object} */ -const PREVIEW_SOURCE_REGEX = new RegExp(`${CONST.ATTACHMENT_PREVIEW_ATTRIBUTE}*=*"(.+?)"`, 'i'); -const SOURCE_REGEX = new RegExp(`${CONST.ATTACHMENT_SOURCE_ATTRIBUTE}*=*"(.+?)"`, 'i'); -const ORIGINAL_FILENAME_REGEX = new RegExp(`${CONST.ATTACHMENT_ORIGINAL_FILENAME_ATTRIBUTE}*=*"(.+?)"`, 'i'); - export default function getAttachmentName(html) { + // Files can be rendered either as anchor tag or as an image so based on that we have to form regex. + const IS_IMAGE_TAG = //i.test(html); + const PREVIEW_SOURCE_REGEX = new RegExp(`${CONST.ATTACHMENT_PREVIEW_ATTRIBUTE}*=*"(.+?)"`, 'i'); + const SOURCE_REGEX = new RegExp(`${CONST.ATTACHMENT_SOURCE_ATTRIBUTE}*=*"(.+?)"`, 'i'); + const ORIGINAL_FILENAME_REGEX = IS_IMAGE_TAG ? new RegExp(`${CONST.ATTACHMENT_ORIGINAL_FILENAME_ATTRIBUTE}*=*"(.+?)"`, 'i') : new RegExp(']*>([^<]+)', 'i'); if (!html) { return { previewSourceURL: null, @@ -18,11 +19,11 @@ export default function getAttachmentName(html) { originalFileName: null, }; } - const previewSourceURL = html.match(PREVIEW_SOURCE_REGEX)[1].replace( + const sourceURL = html.match(SOURCE_REGEX)[1].replace( Config.EXPENSIFY.EXPENSIFY_URL, Config.EXPENSIFY.URL_API_ROOT, ); - const sourceURL = html.match(SOURCE_REGEX)[1].replace( + const previewSourceURL = (IS_IMAGE_TAG ? html.match(PREVIEW_SOURCE_REGEX)[1] : sourceURL).replace( Config.EXPENSIFY.EXPENSIFY_URL, Config.EXPENSIFY.URL_API_ROOT, );