also verify your configuration is correct. To upload files you need to set security.
<site name="website">
<patch:attribute name="itemwebapi.mode">StandardSecurity</patch:attribute>
<patch:attribute name="itemwebapi.access">ReadWrite</patch:attribute>
<patch:attribute name="itemwebapi.allowanonymousaccess">false</patch:attribute>
</site>
I just ran a test with that configuration in place and it worked.
You can create a console application and with the PostMedia class use this code:
string HOST = @"http://HOST/";
string ParentID = "{3D6658D8-A0BF-4E75-B3E2-D050FABCF4E1}"; //Must be media library folder/item. this is the root
string mediaFileExt = ".pdf"; //you need to specify the extension. You can get that by the content-type returned or the way you find better.
HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create("http://sdn.sitecore.net/upload/sdn5/modules/sitecore%20item%20web%20api/sitecore_item_web_api_developer_guide_sc65-66-usletter.pdf");
HttpWebResponse httpWebReponse = (HttpWebResponse)httpWebRequest.GetResponse();
Stream mediaStream = httpWebReponse.GetResponseStream();
//create a instance and inform the credentials as well the host
MediaPost mp = new MediaPost(HOST, @"sitecore\admin", "b");
//post the media!
//Important: It needs a Valid Item Name,
// a Valid Parent ID under Media Library,
// the database, the stream and the extension
mp.PostMedia("DocumentName", new Guid(ParentID), "master", mediaStream, mediaFileExt);
It should work, let know if you still getting that error...
UPDATE:
Do you know the showconfig.aspx in Sitecore? You can use it to see how your configuration files got parsed.
I'd suggest to you to go there http://HOST/sitecore/admin/showconfig.aspx, search for <sites> and see how your website is set. All the patch attributes(mode, access, allowanonumousaccess) should be like in the configuration above.
As long as your user is admin it should have access to the medialibrary and all other security aspects.
Another point I just thought. Did you get the right version of the Item Web Api module for your Sitecore version.
1.0
The Sitecore Item Web API module v1.0.0 rev.120828 is released.
The Sitecore Item Web API module has been tested with Sitecore CMS 6.5.0
rev.120706 (Update-5) and CMS 6.6.0 rev.120918 (Initial release).
1.2
The Sitecore Item Web API 1.2.0 rev. 140128 is released.
The Sitecore Item Web API module has been tested with Sitecore CMS 6.6.0 rev.
131211 (6.6.0 Update-7) and 7.1 rev. 140130 (7.1 Update-1).