I also got the fail to upload images. Firstly I thought it was a config-setting or a permission problem. But it turned out that I needed a "media descriptor".
You can read about it here. This applies for EPiServer CMS 7.x
C# example:
[ContentType]
[MediaDescriptor(ExtensionString = "jpg,jpeg,jpe,gif,bmp,png")]
public class ImageFile : ImageData
{
public virtual string AlternativeText { get; set; }
}