It could be any number of things like:
- LimitRequestBody in apche config
- File uploads off or too small in PHP config
- storing in mysql means you can only store < 1Mb file sizes
- storage directory might not have correct permissions
- You might not be allowed to access /tmp or the file upload location
Well theres some pointers. RecipeBiguploads or something similar here on tw.o has some more details.