Here is the solution for WebBrowser control:
Setting a file to upload inside the WebBrowser component[
^].
But in general it is a better approach to simulate/emulate a browser, and not automate it. For such tasks using
HttpClient[
^] is a much better approach - but a different one, since you need more http knowledge, and you need to get to know the client-server data exchange of the web application.