In Next.js (or React) usually cloud based storage solutions are used for storing media files like images and, my question is, what stops us from storing images as static assets in public folder and accessing them from there in our app (from client/server components)? Is it that they can not be easily added/ deleted or that the storage for static assets is limited? Thanks
Next.js static assets from public folder vs cloud based storage solutions
217 Views Asked by Tom Spatula At
2
There are 2 best solutions below
1
Sunamin34
On
I was actually asking myself this exact same question. So I compared both methods (public assets folder vs. cloud-based service (Cloudinary)).
I expected the loading time and resource values to be way smaller for the cloud-based solution (network tab console), however, it's exactly the same as when my assets are rendered from the public folder.
So for this reason, and knowing that I won't need to host hundreds of images but around 20-30, I will stick with the public folder.
When images are being uploaded by users though, the images will be stored in an S3 bucket and rendered through a link the backend will send me.
Hope this will help some people.
Related Questions in JAVASCRIPT
- Using Puppeteer to scrape a public API only when the data changes
- inline SVG text (js)
- An array of images and a for loop display the buttons. How to assign each button to open its own block by name?
- Storing the preferred font-size in localStorage
- Simple movie API request not showing up in the console log
- Authenticate Flask rest API
- Deploying sveltekit app with gunjs on vercel throws cannot find module './lib/text-encoding'
- How to request administrator rights?
- mp4 embedded videos within github pages website not loading
- Scrimba tutorial was working, suddenly stopped even trying the default
- In Datatables, start value resets to 0, when column sorting
- How do I link two models in mongoose?
- parameter values only being sent to certain columns in google sheet?
- Run main several times of wasm in browser
- Variable inside a Variable, not updating
Related Questions in REACTJS
- ussd reader in Recket Native module
- Teams tab application returns SSO error in mobile Outlook
- Github Pages Deployment deploys a blank page
- Is there any way to glow this bulb image like a real light bulb
- Optimize LCP ReactJs
- Page in React only renders elements after refreshing
- Unable to Post Form Data to MongoDB because of picturepath
- MERN Stack App - User Avatar Upload - 500 Error After Deployment on Render
- Hooks are not supported inside an async component error in nextjs project using useQuery
- How to change the Font Weight of a SelectValue component in React when a SelectItem is selected?
- On the server side, it returns undefined but on the client side, logs the values no problem
- Multilevel dropdown with checkboxes in Select component
- TypeScript Error only on big type only when assigned to a variable
- Deployment through app engine, cloud sql database, problem connecting with server code, doesn't connect
- Data is not filtering in props. Showing passdata.map is not a function
Related Questions in NEXT.JS
- Error **net::ERR_CONNECTION_RESET** error while uploading files to AWS S3 using multipart upload and Pre-Signed URL
- Check list of pages with axios
- Calling functions from Main Component while using tanstack table
- NextJS 14 site working in development but not in vercel
- Route Handler not working Next auth, Next Intl & Next 14
- NextJS Docker build fails: fetch failed ECONNREFUSED
- Need some advice on differentiating between subscriptions using Stripe
- Update Sidebar Height to Cover the Document Height (with React Pro Sidebar)
- How do I send an audio file to OpenAi?
- Next.js not updating state during OnClick after router.push to same page with different ID
- Next js delay before applying Emotion and MUI styles
- Next.js. Server actions in form using formik. Action with arguments didnt work
- Protect Server Actions with Next Auth in Next JS 14
- Next-Auth credentials login troubles debugging
- Hydration failed because the initial UI does not match what was rendered on the server: Next js Tanstack table
Related Questions in CLOUD
- I need an azure product that executes my intensive ffmpeg command then dies, and i only get charged for the delta. Any Tips?
- Does MS Word secretly upload my file to cloud?
- i was installing cloudstack and ended up in this error can anyone help me?
- Merge Azure mp4 blobs via API (Preferred Azure)
- What's the best practice to use OceanBase in cloud environment
- JSON representation of the current Terraform configuration
- I can't ssh to my instance, Connection refused
- Publish Vue.js + ASP.NET Core on Azure
- Why can CPU memory be specified and allocated during instance creation but not GPU memory on the cloud?
- AWS rekognition faces search
- SAP Cloud Connector
- Well isolated DB storage for each user
- how to upload multiple files and pictures to s3 while keeping the record in database?
- Error syncing Google Calendar, when i login with the account in the flutter project
- how to make public IP works on ec2 machine
Related Questions in IMAGE-SCALING
- How to make SVG's width and height of the same as children?
- How to properly stretch /anchor two images in a kotlin app (android)
- Show image preview in full screen but capture 4:3
- Next.js static assets from public folder vs cloud based storage solutions
- I want to figure out the transmittance intensity of metasurfaces using equation in MATLAB code
- How to compress an base 64 image before saving it c#
- Fitting Picture to Full Screen Window
- Why does my wrapper not expand beyond a certain height?
- Trouble scaling basic Image in Compose
- Animation jerky when magnifier images on Chrome (on Firefox is fluid)
- Flickering image in React when changing image (zooming, rotating, opacity)
- SVG: Calculate viewbox depending on path to centre
- Use Amazon Affiliate images links to custom Image Component In Astro
- How to Improve WooCommerce Product Category Thumbnail Quality?
- *Inline* SVG image scales placed in *file* it does not
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You can serve static assets from the public folder without needing to import them in your JavaScript code. Any files placed in the public folder will serve as static assets from the root of your application.
nothing is stopping you from storing images as static assets in the public folder and accessing them from there in your Next.js application. However, there are some limitations to consider:
Limited Storage: The public folder is intended for small static assets like images, icons, and fonts. If you have a large number of images or other media files, it may not be practical to store them all in the public folder.
Limited Control: When you store images as static assets in the public folder, you have limited control over them. You cannot easily add or delete images without manually modifying the files in the public folder.
Limited Optimization: When you store images as static assets in the public folder, you cannot take advantage of NextJS built-in image optimization features. NextJS provides automatic image optimization for images stored in the public folder, but you need to manually optimize images stored elsewhere.
For these reasons, it's generally recommended to use a dedicated media storage service like AWS S3 for storing images and other media files in a NextJS application.