To make from a simple text input one that can upload files enough change type=”text” to type=”file”
The accept attribute can be used to specify the desired file types
<input accept=".jpg, .png, .gif" type="file" name="image" class="file-input">
Stylizing this input is quite difficult. To do this, you need to use some tricks, read about it in this post