Как вы можете прочитать в спецификации WHATWG HTML ,
[f] или по историческим причинам, атрибут value IDL ставит префикс имени файла сстрока "C: \ fakepath \".Некоторые устаревшие пользовательские агенты фактически включали полный путь (который был уязвимостью в безопасности).
Читая в MDC , мы видим, что реализация объекта File в Mozilla имеет (нестандартное) свойство с именем mozFullPath
, содержащее
[t] полный путь к указанному файлу;доступно только для кода с привилегиями UniversalFileRead в chrome.
Эта страница также отвечает на ваш вопрос об избыточных данных в объекте File: свойства fileName
и fileSize
устарели.Также посмотрите W3C File API Working Draft , где они не упомянуты.
Чтобы ответить на вторую часть вашего вопроса:
, если нет, то какбраузер и JavaScript читают файл (например, методы POST и определяют тип и размер)?
Конечно, внутренне доступен полный путь к файлу (и он отображается в нескольких браузерах для пользователя.), но он недоступен для сценариев JavaScript, запускаемых на веб-странице.
Кстати, несколько лет назад об этом говорилось в списке рассылки WHATWG .