Skip to content

Commit c25cb3e

Browse files
authored
support display base64 image (#990)
1 parent 42df52b commit c25cb3e

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

example/src/ExpoImageExample.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ const Wrapper: React.FC<WrapperProps> = ({ label, children }) => {
1919
);
2020
};
2121

22+
const base64BlackImage =
23+
"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDABQODxIPDRQSEBIXFRQdHx4dHRsdHR4dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR3/2wBDAR0XFyAeIRshGxsdIR4hHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR3/wAARCAAIAAoDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAX/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCdABmX/9k=";
24+
2225
const ExpoImageExample: React.FC = () => {
2326
return (
2427
<Container style={{}}>
@@ -72,6 +75,16 @@ const ExpoImageExample: React.FC = () => {
7275
/>
7376
</Wrapper>
7477
</View>
78+
<Wrapper label="Base64 Image">
79+
<ExpoImage
80+
source={{ uri: base64BlackImage }}
81+
style={{ width: 200, height: 200 }}
82+
/>
83+
<ExpoImage
84+
source={base64BlackImage}
85+
style={{ width: 200, height: 200 }}
86+
/>
87+
</Wrapper>
7588
</Section>
7689
<Section title="SVG Image" style={styles.wrapper}>
7790
<Wrapper label="Remote SVG Image">

packages/core/src/components/ExpoImage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,12 @@ const ExpoImage: React.FC<ExtendedImageProps> = ({
5555
...props
5656
}) => {
5757
let imageSource = source ?? Config.placeholderImageURL;
58-
// Prevent crash in Expo 50 when using expo-image with non-http/https URIs
58+
// Prevent crash in Expo 50 when using expo-image with non-http/https/data URIs
5959
if (
6060
source &&
6161
typeof source === "object" &&
6262
"uri" in source &&
63-
!/^(http|https):\/\//.test(source.uri || "")
63+
!/^(http|https):\/\/|^data:/.test(source.uri || "")
6464
) {
6565
imageSource = { uri: "" };
6666
}

0 commit comments

Comments
 (0)