Multer and GridFS :- What are these exactly?

I want to understand what exactly is GridFs . Why do we need it . What challenges are solved by it ?
Also explain me about multer-gridfs-storage and gridfs-stream . How can we use one to actually let clients download something on their fil…