当我第一次选择说hello.png时,它会加载它并调用handleFileSelect()函数。但是,如果我再次选择相同的文件,则在我选择另一个文件名之前,函数不会被调用。如何强制它调用该函数?我当时认为修改是关于“改变”的。但不确定会发生什么事。
var handleFileSelect = function(evt) {
debugger;
var file = evt.currentTarget.files[0];
var reader = new FileReader();
reader.onload = function (evt) {
$scope.$apply(function($scope){
$scope.myImage = evt.target.result;
});
};
reader.readAsDataURL(file);
};
angular.element(document.querySelector('#fileInput')).on('change', handleFileSelect);
答案 0 :(得分:2)
我能想到的最好的方法是用按钮替换文件输入,并在按下按钮时动态创建输入。
function handleFileSelect(evt) {
alert('Filename: ' + evt.target.files[0].name);
}
var button = document.getElementById('select-file');
button.addEventListener('click', function() {
var input = document.createElement('input');
input.type = 'file';
input.addEventListener('change', handleFileSelect);
input.click();
});

<button id="select-file">Select File</button>
&#13;