Is there a way we can add some fields in Blocks, just like we can do in content types. For now I need an image field attached to a block.
I know about a module named Image Block but that is limited in its functionality.
Try one of the following modules:
What is Bean?
Think of a Bean as a method to provide new types (compared to node this would be a content type) which then provides an add content interface to create as many blocks as you require (see screenshot below). The bean content can then be placed around the site just like any other block.
Boxes module is a reimplementation of the custom blocks (boxes) that the core block module provides. It is a proof of concept for what a re-worked block module could do.
My personal preference has always been Bean (before I started using Panels more frequently), but I don't think there's a lot in it to be honest.
Check out Nodeblock module. From the project page:
This module allows you to specify content type(s) as being a block. This allows the content managers of the site to edit the block text and title without having to access the block administration page. Users only need edit access to that node in order to edit it.
Another option is to have a separate content type and display those nodes as blocks. Depending on your exact needs, this might make more sense. For this option, check out Nodes in Block module.
Nodes in block makes it possible to add nodes into a block. A number of configurable blocks are generated which you can assign to a region. Visibility settings of this block are automatically set to 'Show on only the listed pages'. On the node content form, you define the weight and visibility per node thus making it easier for content administration as all your content is now in the same place. With this module, you don't have to explain your customers how blocks work but is still able to decide on which pages content must be rendered.
Display Suites allows you to create a block field. So you can choose a block which will be added to a content type, or more than one.
With EVA you can create a view which you can attach to a content type as a field.
Both quite handy and powerful but as often, it depens much on what exactly you have to do.