It is probably a format issue. Jpeg is the universal format. GIF works and so does png. I think there are a few others that also work.
The other issue could be size. If you shot the picture with your digital camera, you possibly shot at the highest definition possible, which makes for a huge file, the dimensions could be right, but if you shot at 1,000 dpi, it is a massive file. Monitors handle 72 dpi. Increasing the resolution does not affect that you see on the screen. If someone prints the picture, it will be washed out and not as clear. You can go up to 300 if you think it is needed.
If you are going directly from your camera to the internet, you might be using a format unique to that camera manufacturer. You will then need to import the picture into Photoshop, or some less expensive editing program so you can adjust the resolution.
Finally, the file may have a corruption that allows you to view it but fouls up all those 1s and 0s in the transmission process. Hope this helps.