Я пытаюсь покататься на волне HTML5, но мне грозит небольшая проблема. Перед HTML5 мы проверяли размер файла со вспышкой, но теперь тенденция заключается в том, чтобы избежать использования flash в веб-приложениях. Есть ли способ проверить размер файла на стороне клиента с помощью HTML5?
Клиент Проверка размера файла с помощью HTML5?
Ответ 1
Это работает. Поместите его внутри прослушивателя событий, когда изменяется вход.
if (typeof FileReader !== "undefined") {
var size = document.getElementById('myfile').files[0].size;
// check file size
}
Ответ 2
Принятый ответ на самом деле правильный, но вам нужно привязать его к прослушивателю событий, чтобы он обновлялся, когда был изменен входной файл.
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 для отображения, в котором всегда выполняется метрика, зависит от вас.
Ответ 3
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 дает имя и тип.
Ответ 4
Лично я бы выбрал этот формат:
$('#inputFile').bind('change', function(e) {
var data = e.originalEvent.target.files[0];
// and then ...
console.log(data.size + "is my file size");
// or something more useful ...
if(data.size < 500000) {
// what your < 500kb file will do
}
}
Ответ 5
"нет простого, кросс-браузерного решения для этого": Обнаружение размера загрузки файлов на стороне клиента?
Ответ 6
Uploadify может загружать файлы с помощью HTML5. Также есть флеш-версия.
Вы можете установить ограничения на размер файла, используя параметр fileSizeLimit.