Сборник приёмов jQuery для работы с полями загрузки файлов через интерфейс File.
Во всех примерах используется следующий HTML код:
И поле для выбора нескольких файлов:
Пример:
if ($("#file").val() == ''){
alert("Файл не выбран");
} else {
alert("Файл выбран");
}
/* или */
if (document.getElementById("file").value == ''){
alert("Файл не выбран");
} else {
alert("Файл выбран");
}
Пример:
$('#btn').click(function(){
alert($("#file")[0].files.length);
});
/* или */
$('#btn').click(function(){
alert(document.getElementById("file").files.length);
});
Пример:
Свойство File.name
возвращает имя файла, на который ссылается объект File.
alert($("#file")[0].files[0].name);
/* или */
alert(document.getElementById("file").files[0].name);
Пример:
Имена всех выбранных файлов (multiple)
let names = [];
for(var i = 0; i < $("#file")[0].files.length; i++){
names.push($("#file")[0].files.item(i).name);
}
alert(names.join("\r\n"));
Пример:
File.type
возвращает MIMEтип файла.
alert($("#file")[0].files[0].type);
/* или */
alert(document.getElementById("file").files[0].type);
Пример:
Типы всех выбранных файлов (multiple)
let names = [];
for(var i = 0; i < $("#file")[0].files.length; i++){
names.push($("#file")[0].files.item(i).type);
}
alert(names.join("\r\n"));
Пример:
File.size
возвращает размер файла в байтах.
Пример:
Размер всех выбранных файлов (multiple)
$('#btn').click(function(){
let size = 0
for(var i = 0; i < $("#file")[0].files.length; i++){
size += $("#file")[0].files.item(i).type;
}
alert(size);
});
Пример:
Дополнительно: JS-функция для перевода байты в килобайты, мегабайты.