If I upload an image via form and then want to grab it via next.js api and display via Image component I have 400 Bad Request response. Image component says "Could not load the image". Tried to specify domain in config and use Loader, the same result. More than that, I can't access new uploaded images directly via browser url bar. But if I rebuild the project those previously uploaded images finally displays and there is no 400 error. I upload images in /public/uploads
directory. This problem happens only in production mode (npm run build
, npm run start
). There is no such problem when I work with it in dev mode locally (npm run dev
). How to make freshly uploaded images correctly displays without rebuilding a project?
next.js 400 bad request after trying to access just uploaded image
857 views Asked by holycreeper At
1
There are 1 answers
Related Questions in REACTJS
- Can I reference multiple versions of a Chef cookbook?
- chef bootstrap a node on google cloud
- Support multiple notifies in definitions
- Chef cleanup - nodes, environments, cookbooks, roles etc.,
- Chef remote_file from https site with self signed certificate
- test-kitchen: how to read platform specific attributes in kitchen.yml
- Accessing Ubuntu chef server using hostname in my windows machine won't work
- Bootstrapping Chef to Windows Node failing
- wait until the end of Chefs compile phase before running code block?
- Chef knife configuration
Related Questions in IMAGE
- Can I reference multiple versions of a Chef cookbook?
- chef bootstrap a node on google cloud
- Support multiple notifies in definitions
- Chef cleanup - nodes, environments, cookbooks, roles etc.,
- Chef remote_file from https site with self signed certificate
- test-kitchen: how to read platform specific attributes in kitchen.yml
- Accessing Ubuntu chef server using hostname in my windows machine won't work
- Bootstrapping Chef to Windows Node failing
- wait until the end of Chefs compile phase before running code block?
- Chef knife configuration
Related Questions in NEXT.JS
- Can I reference multiple versions of a Chef cookbook?
- chef bootstrap a node on google cloud
- Support multiple notifies in definitions
- Chef cleanup - nodes, environments, cookbooks, roles etc.,
- Chef remote_file from https site with self signed certificate
- test-kitchen: how to read platform specific attributes in kitchen.yml
- Accessing Ubuntu chef server using hostname in my windows machine won't work
- Bootstrapping Chef to Windows Node failing
- wait until the end of Chefs compile phase before running code block?
- Chef knife configuration
Related Questions in UPLOAD
- Can I reference multiple versions of a Chef cookbook?
- chef bootstrap a node on google cloud
- Support multiple notifies in definitions
- Chef cleanup - nodes, environments, cookbooks, roles etc.,
- Chef remote_file from https site with self signed certificate
- test-kitchen: how to read platform specific attributes in kitchen.yml
- Accessing Ubuntu chef server using hostname in my windows machine won't work
- Bootstrapping Chef to Windows Node failing
- wait until the end of Chefs compile phase before running code block?
- Chef knife configuration
Related Questions in 400-BAD-REQUEST
- Can I reference multiple versions of a Chef cookbook?
- chef bootstrap a node on google cloud
- Support multiple notifies in definitions
- Chef cleanup - nodes, environments, cookbooks, roles etc.,
- Chef remote_file from https site with self signed certificate
- test-kitchen: how to read platform specific attributes in kitchen.yml
- Accessing Ubuntu chef server using hostname in my windows machine won't work
- Bootstrapping Chef to Windows Node failing
- wait until the end of Chefs compile phase before running code block?
- Chef knife configuration
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?
Popular Tags
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)
Summary
Write a custom api endpoint to serve uploaded content, because Next.JS does not support this natively
I ran into this problem as well. I was uploading temporary images to
public/_i
. During development withnext run dev
everything appeared great, but once I built and ran in prod mode I started seeing:I looked into loaders and setting custom headers for that path. None of it worked.
Turns out, **Next.JS encourages uploading dynamic content to a separate service or cdn. ** They do not encourage dynamically serving image content like this, and it may be considered an anti-pattern. Under the image optimization page they make the case:
This is demonstrated by the fact that your content appeared after you rebuilt. That is because the build system has cached your uploaded image as if it were static content.
Despite all of this, if you (like me) want to proceed, this is what I did:
<Image />
with a regular<img />
And that should be all you need.