Получение поддельного пути при загрузке - PullRequest
2 голосов
/ 28 февраля 2012

Всякий раз, когда процесс загрузки происходит через браузеры, а не IE, путь
, принадлежащий файлу из систем на стороне клиента, отображается как "c: /fakepath/x.jpg" ..! Я испробовал множество
решений из Интернета, чтобы исправить это, но ничего не работает ..! Если кто-то успешно справился с этой проблемой, прежде чем просто отправить мне свое решение!
HTML-код, который я использовал

<form name="xx"  enctype="multipart/form-data">
<input type="file" name="up"/>
</form>

Мой скрипт Java ..

alert(document.xx.up.value);

Но он отображает «c: /fakepath/x.jpg» во всех браузерах, кроме IE.

Ответы [ 4 ]

1 голос
/ 28 февраля 2012

Современные браузеры не сообщают вам, каков фактический путь к файлу, потому что это действительно не ваша задача как программиста приложения, и, скорее всего, он содержит личную информацию пользователя (например, его имя пользователя).

Обходного пути нет.Учитесь жить без этой информации.

1 голос
/ 28 февраля 2012

Это ограничение безопасности браузера. Вы не можете установить значение элемента управления загрузкой файла с помощью скрипта и не можете прочитать правильный путь.

0 голосов
/ 04 октября 2015

Измените ClientId элемента управления AsyncFileUpload с Inherit на AutoId

0 голосов
/ 02 января 2014

В этом сообщении показан способ удаления отображения 'fakepath':

// Изменить значение узла, удалив поддельный путь

inputNode.value = fileInput.value.replace ("C: \ fakepath \", "");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...