Just to make it clear, because there is some confusion you can see from comment. Of course the dialog is shown even in the simplest form of upload:
<form method="post" ...>
<!- ... ->
<input type="file" name="img">
<!- ... ->
</form>
In this, case, the name "img" will be used to retrieve the file from HTTP request on the server side.
If the user clicks in a small button, usually right from the input field, something like […], the browser dialog will be shown.
Basically, this is all you can do. But the problem of default directory not only unsolvable, it simply makes no sense. Not only you have no control over the client site; all you do is the Web application. It "does not know" anything about a client system. This time this is one, another second this is something else. What default? Just think a bit about it.
However, In fact it is possible to store last accessed directory on each client system. But interfering with the work of file browser could only be possible if this was a standard feature; only that way it could be possible to use on all platforms and browsers. But, to best of my knowledge, there is no such thing. And I would say, for a good reason. After all, the user is not an idiot; she or he is supposed to know where are the local files.
At the same time, it will happen anyway, without any of you efforts on some browsers, and won't happen on others.
This is just the implementation detail of every particular browser.
—SA