Upload assets in a Remix app (video tutorial)
Last updated: Sep-02-2024
On this page:
Overview
Add asset upload capabilities to your Remix application using the Cloudinary Upload widget. Learn how to install and configure the Upload widget, including how to make the widget work with the intricacies of a Remix application.
Video tutorial
View the code
You can find the code from this tutorial in GitHub.Tutorial contents
This tutorial presents the following topics. Click a timestamp to jump to that part of the video.
Introduction to the Upload widget
Cloudinary has many ways to upload files to your Media Library, enabling you to take advantage of Cloudinary's extensive features and capabilities. In a Remix app you can use the Upload widget as a quick and easy way to provide a full upload experience. | |
Add the Upload widget script to your Remix app
Start with a basic Remix application and add the Upload widget JavaScript file. Paste the code, which you can find in the Upload widget documentation, into the <body> section of root.jsx. |
|
Configure the Upload widget
Create a loader function to set up environment variables for the configuration data required for the Upload widget: the cloud name of your account (which you can find in the Console Dashboard) and the name of an upload preset (see the next step). Set the environment variables in a .env file. |
|
Create an upload preset
In your Cloudinary Console, navigate to Settings > Upload > Upload presets to create a new unsigned upload preset. Give the preset a name and make sure to change the Signing mode to unsigned, then save the upload preset. | |
Add a new component for the Upload widget
Add a new file called index.jsx in app/components/UploadWidget in which you can create a component for the Upload widget. After defining your component as UploadWidget , you can import this component into your main route. |
|
Initialize the Upload widget
Back in the component code, retrieve the environment variables using the useMatches function. Pass these to the createUploadWidget method to initialize the widget. Let the callback function log the result and any error to the console. Instantiate the widget using useEffect and maintain a reference to the created widget using useRef . |
|
Add a button to open the Upload widget
Render a simple button to open the Upload widget when clicked. | |
Test it out
Open the app in a browser. Click the button to open the Upload widget and upload a file to your Cloudinary product environment. See the response logged in the console. | |
You can find the code used in this video tutorial in GitHub.
Keep learning
Related topics
- Read our Upload widget guide and reference, covering every available parameter option.
- Check out an Upload widget Sandbox that you can fork to try out some sample configuration changes.
- Watch more Dev Hints videos on the Cloudinary YouTube channel.
If you like this, you might also like...
Generate Upload Signature
Generate a timestamp and signature for a signed uploadUpload Widget
Embed an Upload Widget in your siteUpload with the CLI
Apply background removal to images on upload
Check out the Cloudinary Academy for free self-paced Cloudinary courses on a variety of developer or DAM topics, or register for formal instructor-led courses, either virtual or on-site.
✖️