fakepath при загрузке файла

Если во время добавления файла в системе Контур-Экстерн возникает следующая ошибка,

выполните следующие действия:

  1. скачайте файл security.exe
  2. запустите скачанный файл security.exe и перезагрузите компьютер
  3. зайдите в Контур-Экстерн и попробуйте повторно добавить файл

Если ошибка не исчезла, настройте браузер Internet Explorer вручную, для этого:

Ручная настройка

  • Зайдите в меню Пуск
  • Щелкните по пункту Настройка, если такого пункта нет, перейдите к следующему шагу.
  • Щелкните пункт Панель управления
  • Щелкните два раза по иконке Свойства обозревателя
  • Перейдите на вкладку Безопасность
  • Нажмите на зеленую галочку с надписью Надежные узлы
  • Затем нажмите кнопку Другой
  • В появившемся окне найдите пункт Разное
  • Рядом с пунктом «Включать путь к локальному каталогу при загрузке файлов на сервер» поставьте галочку «Разрешить» или «Включить». Затем нажмите «Ок»

  • Перезапустите Internet Explorer

Я сталкиваюсь со следующей проблемой:

Когда пользователь загружает файл с вводом файла HTML, а затем я хочу получить путь к файлу. Я получаю только код C:/fakepath/filename.txt .

Я понимаю, что причиной безопасности браузеров является точный путь к файлу. Поэтому мне было интересно, возможно ли это с некоторыми хаками, каким-то образом в .net или с дополнительным плагином jquery / js, чтобы получить полный путь к файлу.

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

Любые предложения или рекомендации для этого подхода?

Если это действительно невозможно, например

нам нужно придумать отличную идею, я думаю. Но так как некоторые ответы действительно старые, я подумал, может быть, есть решение для этого к настоящему времени. Thx everyone

Это моя кнопка загрузки.

Это текстовое поле, в котором я должен показать полный путь к файлу.

Это JavaScript, который решает мою проблему. Но в значении предупреждения дает мне

и Мозилла дает мне:

Но я хочу местный полный путь к файлу. Как решить эту проблему?

Если это связано с проблемой безопасности браузера, каким должен быть альтернативный способ сделать это?

Решение

Некоторые браузеры имеют функцию безопасности, которая не позволяет JavaScript знать локальный полный путь вашего файла. Это имеет смысл — как клиент, вы не хотите, чтобы сервер знал файловую систему вашего локального компьютера. Было бы хорошо, если бы все браузеры сделали это.

Другие решения

Если вы зайдете в Internet Explorer, Сервис, Интернет, Безопасность, Пользовательский, найдите «Включить путь к локальному каталогу при загрузке файлов на сервер» (это довольно далеко) и нажмите «Включить». Это будет работать

Я использую объект FileReader на входе onchange событие для вашего типа входного файла! В этом примере используется функция readAsDataURL, и по этой причине у вас должен быть тег. Объект FileReader также имеет readAsBinaryString для получения двоичных данных, которые впоследствии можно использовать для создания того же файла на вашем сервере.

Я рад, что браузеры заботятся о том, чтобы спасти нас от навязчивых сценариев и тому подобного. Я не доволен тем, что IE помещает в браузер что-то, что делает простое исправление стиля похожим на хак-атаку!

Я использовал для представления файла-ввода, чтобы я мог применить соответствующий стиль к вместо (еще раз, из-за IE). Теперь из-за этого IE хочет показать пользователю путь со значением, которое гарантированно защитит его и в крайнем случае (если не полностью отпугнет?!) … БОЛЬШЕ IE-CRAP!

В любом случае, спасибо тем, кто разместил объяснение здесь: IE Browser Security: добавление «fakepath» к пути к файлу во входных данных [type = «file»] , Я собрал небольшой верхний фиксатор …

Приведенный ниже код выполняет две вещи: он исправляет ошибку IE8, из-за которой событие onChange не срабатывает, пока в поле загрузки не отображается onBlur, и обновляет элемент с очищенным путем к файлу, который не пугает пользователя.

Я столкнулся с той же проблемой. В IE8 это можно обойти, создав скрытый ввод после элемента управления вводом файла. Заполните это значением предыдущего брата. В IE9 это было исправлено.

Причиной, по которой я хотел узнать полный путь, было создание предварительного просмотра изображения javascript перед загрузкой. Теперь мне нужно загрузить файл, чтобы создать предварительный просмотр выбранного изображения.

Если вам действительно нужно отправить полный путь к загруженному файлу, вам, вероятно, придется использовать что-то вроде подписанного Java-апплета, поскольку нет способа получить эту информацию, если браузер не отправляет ее.

кажется, вы не можете найти полный путь в вашем локальном хосте с помощью js, но вы можете скрыть поддельный путь, чтобы просто показать имя файла. Используйте jQuery, чтобы получить файл с выбранным именем файла без пути

Оцените статью