MediaRenderer
Component that renders any asset stored on IPFS (or anywhere else), given the IPFS URI / URL.
Under the hood, the asset is fetched from IPFS through the thirdweb IPFS gateway (or just
a regular fetch if the src
is not an IPFS URI).
The mime type of the
asset is determined and the appropriate component is rendered on the UI.
For example, if the URI points to an image, the img
tag will be used. If it is a video, the video
tag will be used, etc.
The component currently supports:
- Images
- Videos
- Audio files
- 3D Models
- SVGs (for onchain NFTs)
iframes
andHTML
- If none of these are appropriate, the fallback is a link to the asset
Usage
Provide the IPFS URI (or any URL that points to media) to the src
prop to render the asset.
Configuration
src (required)
The src attribute specifies the URL of the media.
This can be an IPFS URI, or any URL that points to media (e.g. HTTP URL, etc.).
alt (recommended)
The alt attributes provides alternative
information for the media, if a user for some reason cannot view it
(due to slow connection, an error in the src
attribute, or if the user is visually impaired).
The default value is ""
.
poster (optional)
The poster is the image that is shown before the video is played.
The default value is the first frame of the video.
If the src
is not a video, this prop is ignored.
controls (optional)
Show the media controls (play, pause, etc.) for the media, where applicable.
The default value is false
.
height (optional)
The height of the rendered media.
The default value is auto
.
width (optional)
The width of the rendered media.
The default value is auto
.
requireInteraction (optional)
Require user interaction to play the media (i.e. disable autoplay).
The default value is false
.
className (optional)
Apply custom CSS styles to the button using a class name.
style (optional)
Apply custom CSS styles to the button using an inline style.