292fd4eb3f
### BREAKING CHANGE This changes the behavior of the default image `loader` so that [`Content-Disposition`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition#as_a_response_header_for_the_main_body) header is now `attachment` for added protection since the API can serve arbitrary remote images. The new default value, `attachment`, forces the browser to download the image when visiting directly. This is particularly important when `dangerouslyAllowSVG` is true. Most users will not notice the change since visiting pages won't behave any differently, only visiting images directly. Users can switch back to the old behavior by configuring `inline` in next.config.js ```js module.exports = { images: { contentDispositionType: 'inline', }, }
51 lines
1.7 KiB
Text
51 lines
1.7 KiB
Text
---
|
|
title: 'Invalid `images` config'
|
|
---
|
|
|
|
## Why This Error Occurred
|
|
|
|
In your `next.config.js` file, you provided an invalid config for the `images` field.
|
|
|
|
## Possible Ways to Fix It
|
|
|
|
Make sure your `images` field follows the allowed config shape and values:
|
|
|
|
```js filename="next.config.js"
|
|
module.exports = {
|
|
images: {
|
|
// limit of 25 deviceSizes values
|
|
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
|
|
// limit of 25 imageSizes values
|
|
imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
|
|
// limit of 50 domains values (deprecated)
|
|
domains: [],
|
|
// path prefix for Image Optimization API, useful with `loader`
|
|
path: '/_next/image',
|
|
// loader can be 'default', 'imgix', 'cloudinary', 'akamai', or 'custom'
|
|
loader: 'default',
|
|
// file with `export default function loader({src, width, quality})`
|
|
loaderFile: '',
|
|
// disable static imports for image files
|
|
disableStaticImages: false,
|
|
// minimumCacheTTL is in seconds, must be integer 0 or more
|
|
minimumCacheTTL: 60,
|
|
// ordered list of acceptable optimized image formats (mime types)
|
|
formats: ['image/webp'],
|
|
// enable dangerous use of SVG images
|
|
dangerouslyAllowSVG: false,
|
|
// set the Content-Security-Policy header
|
|
contentSecurityPolicy: "default-src 'self'; script-src 'none'; sandbox;",
|
|
// sets the Content-Disposition header ('inline' or 'attachment')
|
|
contentDispositionType: 'attachment',
|
|
// limit of 50 objects
|
|
remotePatterns: [],
|
|
// when true, every image will be unoptimized
|
|
unoptimized: false,
|
|
},
|
|
}
|
|
```
|
|
|
|
## Useful Links
|
|
|
|
- [Image Optimization Documentation](/docs/pages/building-your-application/optimizing/images)
|
|
- [`next/image` Documentation](/docs/pages/api-reference/components/image)
|