This has happened since I changed web hosts.
At first I couldn't upload media -- I got an error message -- but I fixed that problem by changing the path from the crazy long thing that was in there to wp-content/uploads. Now it works fine: I can upload images and what I upload shows up in the Media Library.
But I still can't see in the Media Library the dozens of old images I have in the uploads folder, three years worth. I can see them in the ftp and I can see them on the website, but not in the Media Library.
Also I updated WP to the latest version, so it isn't that. I couldn't see the images before or after the update.
My web host says, "Most likely it is due to a pointer within the Database for the WordPress install that is not including the files. Unfortunately this is outside the scope of support that we can assist you with and recommend that you contact WordPress support or a web developer with experience with MYSQL and WordPress."
I don't know jack about MYSQL, so it's outside of my scope, too. Any suggestions?