Is it possible to resize image before saving it with media module? I am building a site using Drupal 7, in which users can upload content in a form, also images. The images will be uploaded and stored with the Media module version 7.x-2.x-dev.

I want to allow users to upload any image up to 10 MB of size.

But, I don't want to have many pictures as big as 10 MB on my server. I prefer to save the image only after it has been resized to 800x600 to have more space on my server.

How can I achieve this with the Media module?

In addition, what is the difference between the field type "file" to "image" when rendering images with the Media module? 

There is an option to chose "Field Type: File" and "Widget Type: Media Browser", and then chose rendered file, and then image on the Media settings (here is a great guide to the Media module). Another option is to chose "Field Type: image" and "Widget Type: Media Browser".
First off, image dimensions are not the same as image sizes. Images could have the dimensions of 800x600 but still exceed 10 MB in size.

One possible solution is to create new image styles under /admin/config/media/image-styles/ providing your desired dimensions (e.g. 800x600). See attached image:



Then under the Manager Displays section of the Content Type containing the image field, choose the Image style you just created. See attached image:



Then set the Maximum upload size for your field in the Manage Fields section of the Content Type containing the image field. See attached image: