2016-09-06 3 views
0

Я создал директиву для загрузки файлов. Когда я пытаюсь загрузить только тот же файл, диалоговое окно, которое после загрузки не отображается. Я не знаю, как это понять, чтобы каждый раз открывать следующий диалог.Вторая загрузка того же файла не открывает новое диалоговое окно

export function fileReaderDirective() { 
    'ngInject'; 

    let directive = { 
    restrict: 'A', 
    require: '?ngModel', 
    link: fileReaderLink 
    }; 

    return directive; 
} 

function fileReaderLink(scope, element, attrs, ngModel){ 
    if(attrs.type === 'file' && ngModel) { 
    element.bind('change', function(event) { 
     scope.$apply(function() { 
     ngModel.$setViewValue(event.target.files); 
     }); 
    }); 
    } 
} 

<input name="file" id="image-upload" type="file" ng-model="file" filereader/> 

ответ

0

Это стандартное поведение. Событие изменения не срабатывает при повторном выборе того же файла, поскольку его путь не изменяется. Его чистый HTML-родственный, он не имеет ничего общего с угловым. Есть некоторые вопросы (похожие ответы) вы можете относиться к:

Javascript file input onchange isn't triggered when they select a file with the same name
How to detect input type=file “change” for the same file?

+0

я понял, этот путь с «нажмите», но ничего не произошло. Я должен был сделать что-то не так. Спасибо! – Przemek

Смежные вопросы