There are countless posts in the WordPress.org forums about errors that occur when using the media uploader.
Otto does a pretty good job of outlining the main issues and solution in this post.
In my experience these errors usually occur because of your server setup or memory issues. To help you diagnose where your problem lies:
1. If the file appears to upload and then you get an HTTP Error, this is most likely your server settings preventing you from uploading or processing large files in some way.
2. If you get as far as “Crunching…” being displayed, this is most likely a memory issue – the image is so big that the server struggles to create the other images sizes. Also note that it is often the actual physical dimensions of the image not the filesize that is too big and causes the memory issue.
The most recent occasion when I ran into this issue was on a 1&1 Virtual Server. None of the fixes I could find solved my issue and I eventually tracked it down to needing to increase to MaxLen setting on the server.
To do this I needed to add the following into the vhost.conf file on the server. My vhost.conf file was located here:
The following sets to value to 31457280 bytes which is 30MB:
<IfModule mod_fcgid.c> FcgidMaxRequestLen 31457280 </IfModule>
I also added some additional settings to help with timeout issues:
<IfModule mod_fcgid.c> FcgidMaxRequestLen 31457280 ProcessLifeTime 7200 IPCCommTimeout 7200 IPCConnectTimeout 300 </IfModule>
Then I needed to tell Plesk to update it’s information but running the following:
# /usr/local/psa/admin/sbin/websrvmng -u --vhost-name=domain.com
This configures Plesk only for one single domain, in this case domain.com. If you want to configure it for all sites run:
# /usr/local/psa/admin/bin/websrvmng -a