2016-03-24 1 views
2

У меня есть простое веб-приложение, которое позволяет пользователю выбрать файл и загрузить его для них. Если загрузка не удалась, она снова пытается еще раз загрузить ее.Обнаружение выбора файла в том же файле, который был выбран ранее

Я запускаю процесс загрузки, когда событие изменения происходит на входе. Я хочу, чтобы это произошло каждый раз, когда они выбирают файл, , даже если они дважды выбирают один и тот же файл в строке. (У меня есть веская причина, не имеет значения здесь)

Однако, если они снова выбирают один и тот же файл, событие изменения не происходит. Это происходит только тогда, когда входной файл был ранее пустым или указывался на другой файл.

Есть ли событие «файл был выбран», с которым я могу связать функцию, которая не требует изменений?

Обычный .js в порядке, jQuery уже загружен в проект.

Я ищу что-то вроде «выбранного файла», но я ничего не вижу.

reportEvent = function() { 
 
    $('.form-box').append(
 
    '<p>The input change event fired for' + $('#fi').val() + '</p>' 
 
); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="form-box"> 
 
    <input type="file" id="fi" onchange="reportEvent()"> 
 
</div>

+2

дубликат http://stackoverflow.com/questions/12030686/html-input-file-selection -event-not-firing-on-selection-the-same-file – llamerr

ответ

1

Это может помочь:

reportEvent = function() { 
 
    $('.form-box').append(
 
    '<p>The input change event fired for' + $('#fi').val() + '</p>' 
 
); 
 
    
 
    // Do some work here... 
 

 
    $('#fi').val(''); // Reset file input to the initial state, so you can upload the same file again 
 
}

+0

Так просто! Я сам убедился, что File api не даст мне этого сделать. Я был неправ, слава богу. – daveyfaherty

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