Получить размер загружаемого файла без activexobject? - PullRequest
2 голосов
/ 04 октября 2011

Можно ли получить размер файла для загрузки с помощью сценария Java или без объекта activex? Он должен быть совместим со всеми браузерами.

Ответы [ 2 ]

1 голос
/ 04 октября 2011

Совместимо для всех браузеров? - нет решения

Совместимо с Firefox, Chrome, Safari, Opera? - следующий скрипт

document.getElementById("file_elem_id").files[0].size

Не работает с IE8 (пока не тестируется на IE9)

0 голосов
/ 25 июля 2013

Сообщаем, что API файлов jQuery не поддерживается для IE-9 или более ранних версий.В этих случаях мы обязаны проверять размер файла, создавая объект ActiveXObject, так как это единственный способ в этом случае иметь дело с системными файлами, чтобы получить размер файла перед загрузкой.

Но здесь есть другая проблема, такая как ActiveXдолжен быть установлен / включен / настроен правильно в браузере на клиентском компьютере, иначе он не будет распознан.Поэтому у меня есть три способа получить размер файла здесь: - 1) Получить размер файла, передав весь файл на сервер и вернуть размер файла оттуда.2) Его очень легко найти с помощью Silverlight, Flash или других подобных программ на стороне клиента.3) Загрузите файл кусками на сервер, когда он превысит ограничение размера файла, затем верните пользователю сообщение.

Получите размер файла в jQuery (поддерживается в браузерах IE 10, FF, Chrome)

$('#fileInputID').change(function(){
        var file=this.files[0];
        alert(file.size||file.fileSize);
    })

Получите размер файла при использовании ajax, сделав только запрос HEAD:

var response = $.ajax({
type: "HEAD",
url: fileurl,// file url on server
success: function () {
    alert("Size of file is " + request.getResponseHeader("Content-Length"));
  }
});

Надеюсь, это будет полезно.

Ссылки: - http://www.aspnetcodes.com/2012/07/example-to-get-file-size-before-upload.html

...