The most reliable way to achieve this cross-browser and without having to change the code is to set the input value to null when clicked.
onclick="this.value = null"
So your entry will look like this
<input name="file" type="file" onclick="this.value = null" (change)="onChange($event)" style="width:80%"/>
Here is a working example: plnkr
Owain van brakel
source share