Tip - Extract body from multipart formdata
Allow for a request containing both files and data.
To be able to send both files and data in the same request of type multipart formdata, for example to create a product and upload its images in the same route, we can create an Interceptor. It is inspired by the Aspect Oriented Programming, and possesses interesting capabilities.
This NestJS doc better explains about the Interceptor.
For instance, one could be used to obtain the text from a field in a request of type multipart formdata, then convert it to JSON and finally set its value to the body
.
Thanks to Matt Pocock for his insight in this lesson, from his course Total TypeScript.
Then, the BodyInterceptor
may be used after the FileInterceptor
, like this for example:
With this, the extraction of the @Body()
and DTO validation will work properly.
Commit - Interceptor to extract body from multipart formdata
Last updated