I experienced this after the hoster messed up my permissions on a server upgrade. Tried all the usual like:
- disabling all plugins
- changing themes
- changing/resaving permalinks
- deleting/renaming .htaccess
Nothing worked. The images were showing up only on the Edit media page (Media/Edit/Edit image). Whel loading site, the response for the for the images given by browser was ranging from 404 Not found to 301 Moved permanently, depending on permalink settings.
So, after trying all above, try to:
- change uploads folder and subfolders permissions to 755.
- change all files inside uploads folder permissions to 644.
Pay attention when changing files permissions, to check that they actually change, and if not:
- download and reupload all the content of the uploads folder
The last operation was the one that solved the problem for me.