This article will explain how to fix the permission problem on uploaded files in WordPress running on IIS 7.
I was having the same problem as you.┬á You upload an image in WordPress and either you get an error or the image will upload, thumbnails would work but the actual image would not have read permissions. IΓÇÖm not an IIS or WordPress expert but after a ton of searching and trying things that didnΓÇÖt work, this is what worked for me.
If you canΓÇÖt upload an image at all, itΓÇÖs probably because you need to give the IUSR┬áaccount Read/Write/Modify permission on your wp-content folder.┬á This will allow you to upload, and do the WordPress & plugin updates.
Once you have done that, all you need to do is give the IIS_IUSRS group Read permissions on your ΓÇ£C:\Windows\TempΓÇ¥ folder.
Make sure to notice that the two permission changes you make are not for the same user/group.┬á┬á Give IUSR permissions on your wp-content folder and IIS_IUSRS permissions on your Windows temp folder.
I read some other posts saying to edit your php.ini file and change the upload temp directory and give that directory permissions but that didnΓÇÖt work for me.
That should do it, or at least it worked for me.
If youΓÇÖre still having problems, here is something else you can try.┬á When I was having problems with my uploaded images I noticed that even though IUSR had permissions on my uploads folder they werenΓÇÖt propagating to the newly uploaded files.┬á The other thing I noticed was that when a new image was uploaded the Owner of the new file was IUSR, and instead of giving IUSR the permissions that I had assigned for the parent folder it seemed to copy the permissions from ΓÇ£CREATOR OWNERΓÇ¥ and assign them to IUSR for the upladed┬áfile.┬á ΓÇ£CREATOR OWNERΓÇ¥ doesnΓÇÖt really have any rights so the next thing I was going to try is to give ΓÇ£CREATOR OWNERΓÇ¥ Read/Write/Modify permissions on my uploads folder.┬á Maybe these new permissions would get copied and assigned to IUSR for new uploads?┬á Worth a try anyway.