Sometimes, we want to load an image to a img element from a file input with JavaScript.
In this article, we’ll look at how to load an image to a img element from a file input with JavaScript.
How to load an image to a img element from a file input with JavaScript?
To load an image to a img element from a file input with JavaScript, we can use the FileReader
constructor.
For instance, we write
<input type="file" />
<img id="myimage" height="200" />
to add the file input and the img element.
Then we write
const input = document.querySelector("input");
input.onchange = (event) => {
const selectedFile = event.target.files[0];
const reader = new FileReader();
const imgtag = document.getElementById("myimage");
imgtag.title = selectedFile.name;
reader.onload = (event) => {
imgtag.src = event.target.result;
};
reader.readAsDataURL(selectedFile);
};
to select the file input with querySelector
.
And then we set its onchange
property to a function that runs when we change file selection.
We get the first selected file with event.target.files[0]
.
Then we create a FileReader
object and call readAsDataURL
on it with the selectedFile
as its argument.
When the file is read, read.onload
runs.
In it, we set the imgtag.src
property to event.target.result
, which the base64 URL string with the image data.
We set imgtag
to the img element that we selected with getElementById
.
Conclusion
To load an image to a img element from a file input with JavaScript, we can use the FileReader
constructor.