第二次上传相同的文件没有打开新的对话框窗口

Second upload of the same file doesn't open new dialog window

本文关键字:窗口 对话框 文件 第二次      更新时间:2023-09-26

我已经为文件上传做了一个指令。当我试图上传相同的文件时,上传后的对话框没有显示。我不知道如何计算每次打开下一个对话框。

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/>

这是标准行为。当您再次选择同一文件时,更改事件不会触发,因为它的路径没有更改。它是纯HTML相关的,与angular无关。这里有一些类似的问题(答案)你可以联系到:

Javascript文件输入onchange是n't触发当他们选择一个同名的文件
如何检测输入类型=文件"改变"为同一文件?