Programmatically set the value of a type=”file” input HTML element? [duplicate]

Posted on

Programmatically set the value of a type=”file” input HTML element? [duplicate] – Even if we have a good project plan and a logical concept, we will spend the majority of our time correcting errors abaout javascript and post. Furthermore, our application can run without obvious errors with JavaScript, we must use various ways to ensure that everything is operating properly. In general, there are two types of errors that you’ll encounter while doing something wrong in code: Syntax Errors and Logic Errors. To make bug fixing easier, every JavaScript error is captured with a full stack trace and the specific line of source code marked. To assist you in resolving the JavaScript error, look at the discuss below to fix problem about Programmatically set the value of a type=”file” input HTML element? [duplicate].

Problem :


The answer(s) below reflect the state of legacy browsers in 2009. Now you can actually set the value of the file input element dynamically/programatically using JavaScript in 2017.

See the answer in this question for details as well as a demo:
How to set file input value programatically (i.e.: when drag-dropping files)?

What I need to do is to programmatically send a POST request to a service from javascript code from an application that uses a .NET WebBrowser, which is basically an embedded Internet Explorer. This service requires one of the fields to be a “file”.

So either, is there any way to set the value of a “file” input in a form, given that I have the content of the file, such as in an array of bytes (and not the path of the file; I’m not trying to steal files from users here 🙂 ).

Or perhaps a way to explicitly create and send the POST request instead of creating a FORM dynamically?

I need to use JavaScript code that will be run in my WebBrowser (think IE). Is this possible?

Solution :

Unfortunately this is not possible as it would be a security issue. Javascript control over file input fields is very limited. Otherwise people could use this to steal files from user’s computers.

Since you have control over the browser, you can send the file using a normal HTTPWebRequest, but it can’t be done in JavaScript.

Leave a Reply

Your email address will not be published. Required fields are marked *