Я работаю над простым скриптом для моего сайта для загрузки изображений. У меня есть входной файл с несколькими файлами <input type = 'file' name = 'files[]' id = 'hiddenFile' multiple>
, который запускается нажатием кнопки div. Когда я помещаю в очередь файлы, я хочу, чтобы их можно было удалить. Я знаю, что могу пройти через $('#hiddenFile').val()
и сплайсировать, чтобы получить имя, но у меня возникла проблема с выяснением имени файла. Когда я назначаю файл новому контейнеру img, как мне получить имя? Я пробовал console.log(f.name)
и несколько вариантов, но он возвращает неопределенную ошибку. Вот мои сценарии. Я думаю, что я довольно близко, но это то, чему я учусь, когда я ухожу. Благодаря!javascript FileReader получить имя?
function readURL(input) {
var files = $('#hiddenFile')[0].files; //where files would be the id of your multi file input
//or use document.getElementById('files').files;
for (var i = 0, f; f = files[i]; i++) {
var reader = new FileReader();
reader.onload = function (e) {
console.log(f.name); //how can I get the
//file name here to add it to the image as an attribute?
$("<img src = '"+e.target.result+"' class = 'addedImg'>").appendTo("#imgBox");
};
reader.readAsDataURL(f);
}
}
$(document).ready(function(){
$(document).on('click', '#addBtn', function(e){
e.preventDefault();
$('#hiddenFile').click();
});
});
Вы пытались добавить точку останова в отладчике и видя, какие свойства в object – QBM5
Используйте эту «ссылку», «f» не определяется после того, как она срабатывает, это событие, которое срабатывает позже. Или передать что-то еще в эту функцию. Что бы вы ни делали. – Nikki9696