No. When you use / or /picture.jpg you are telling the server that the file is located at root. Depending on you server configuration this could be the server root or the document root. In most cases I have run across it will be document root. For example, if you have a site foo.com which has a link <a href="/">Link</a> then this link would point to foo.com. <a href="/picture.jpg">picture</a> would resolve to foo.com/picture.jpg
If the picture is in the same folder as the html file, then using relative addressing you would refer to it as "picture.jpg" - the html and picture files can be both together in any folder of the site. "/picture.jpg" means the picture is in the root folder of the site, which in your case is true when uploaded, but not on your local machine. As an extra, if your pictures where in a folder called "images" and your html in the root folder, you reference it by "images/picture.jpg".
If the file is in the document root, then use the slash. I like to have everything relative to the document root so I use it everywhere. So if my picture is in a directory called images then my url would be /images/pic.jpg
The document root is whatever you specify it to be in the server configuration. ../phpBB2/index.php is VERY different from /phpBB2/index.php
The first means one directory up from the current, then the phpBB2 directory. The second means that the phpBB2 directory is at the document root which may be /usr/www/phpBB2 or something like that.
Your router has absolutely nothing to do with any of this. What matters is your server. Likewise, the location on your computer has little to do with anything. If you want to be able to reliably preview your site on your computer, you should have a web server installed. In short, if you preview your file in the browser, and the address bar gives a local address (ex "C:\My Documents\myFile.html"), you can't rely on it being an accurate preview of how the site will behave on an actual file server. If you install a local web server, it would instead look like "http://localhost/myFile.html", and as far as your browser is concerned, it is an actual web site. When going that route, where the file is on your computer doesn't matter nearly as much as where your web server's directories are mapped.
May I recommend starting off be reading some tutorials. The first would be something on relative links & how they work. This seems to cover the basics, but there may be other better ones: http://www.webreference.com/html/tutorial2/3.html
As with anything else on the web, there is no one "right" way to do your links. There are multiple ways you can set them up, and without being able to see your site's layout, it is hard to say which is the best in your particular situation. If there is any question, you can always just use absolute links instead- they're not as flexible and require a little more typing, but they're a lot easier to figure out- especially if you're not good at mentally mapping out relative paths.
Second, read up on web servers. You can install IIS, Apache or a variety of other servers on your local pc for testing, but you need to understand how they work first.
It may not be relevent here, but check also that there are no issues with upper & lower case. MS software ignores case in filenames and paths, unix/linux servers are case sensitive. For example if your link say mypic.jpg and the picture is called Mypic.jpg, it may not be found.