Я пытаюсь оседлать волну HTML5, но столкнулся с небольшой проблемой. До HTML5 мы проверяли размер файла с помощью flash, но теперь существует тенденция избегать использования flash в веб-приложениях. Есть ли способ проверить размер файла на стороне клиента с помощью HTML5?
javascript
html
file-upload
Халед Мусаид
источник
источник
Принятый ответ на самом деле правильный, но вам нужно привязать его к прослушивателю событий, чтобы он обновлялся при изменении ввода файла.
document.getElementById('fileInput').onchange = function(){ var filesize = document.getElementById('fileInput').files[0].size; console.log(filesize); }
Если вы используете библиотеку jQuery, вам может пригодиться следующий код
$('#fileInput').on('change',function(){ if($(this).get(0).files.length > 0){ // only if a file is selected var fileSize = $(this).get(0).files[0].size; console.log(fileSize); } });
Учитывая, что преобразование fileSize для отображения в какой-либо метрике зависит от вас.
источник
.files
: jsfiddle.net/edxvo4wa (я обнаружил это сам, когда придумывал решение - оно работает, если вы измените его наdocument.getElementById
).HTML5 fie api поддерживает проверку размера файла.
прочтите эту статью, чтобы получить больше информации о файловом API
http://www.html5rocks.com/en/tutorials/file/dndfiles/
<input type="file" id="fileInput" /> var size = document.getElementById("fileInput").files[0].size;
аналогично файловый API дает имя и тип.
источник
Лично я бы выбрал такой формат:
$('#inputFile').bind('change', function(e) { var data = e.originalEvent.target.files[0]; // and then ... console.log(data.size + "is my file's size"); // or something more useful ... if(data.size < 500000) { // what your < 500kb file will do } }
источник
«Нет простого кросс-браузерного решения для достижения этой цели»: определение размера загружаемого файла на стороне клиента?
источник