Question
I've tried uploading images through the back end of CactuShop, but when I upload both a normal and large image, I get the following error:
Request object error 'ASP 0104 : 80004005'
Operation not Allowed
/shop/includes/upload.asp, line 62
Why is this and how do I fix it?
Answer
This error happens on IIS 6 (Windows Server 2003) due to the size limit of binary requests. The line that fails is this:
biData = Request.BinaryRead(Request.TotalBytes)
Windows 2003 default limits are set to prevent requests larger than 200KB. This is set at server level, by the
AspMaxRequestEntityAllowed setting in metabase.xml. The only way to increase this value is to change this setting and then restart IIS for this change to take place, unless "enable direct metabase edit" is enabled.
If you don't have control over your server (i.e. you're on a shared hosting environment) then you need to ask if your host can increase this value for you. If your host will not increase it, then you need to take care to ensure that your images are well compressed so that the total of a large and normal sized image does not exceed 200KB (which should still be enough with well optimized images).
For downloadable items, you may need to FTP the items in place instead if they're over 200KB and you cannot make the metabase change described above.