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

Как избавиться от C: FakePath в IE при загрузке файла на веб-сайт [Исправить]

Недавно несколько моих коллег спросили меня, почему у них появляется C:fakepath после того, как они загружают файл или изображение на веб-сайт. в Internet Exlorer, а именно Craiglist в качестве одного из них. После небольшого исследования тайна была раскрыта.

Согласно спецификациям HTML5, элемент управления загрузкой файлов не должен раскрывать настоящие локальные путь к выбранному файлу, если вы управляете строкой его значения с помощью JavaScript. Вместо этого скрипт, который обрабатывает информацию о файле, возвращает строку c: fakepath.

Это требование уже реализовано в Internet Explorer 8 — будет показан реальный путь к файлу. только если страница, содержащая элемент управления, добавлена ​​в коллекцию доверенных сайтов браузера.

что такое fakepath при загрузке файла. Смотреть фото что такое fakepath при загрузке файла. Смотреть картинку что такое fakepath при загрузке файла. Картинка про что такое fakepath при загрузке файла. Фото что такое fakepath при загрузке файла

Обратите внимание, что этот C:fakepath встречается не только в IE, но и в IE. 9.

Чтобы обойти это, вы можете добавить веб-сайты, с которыми вы работаете, в список надежных сайтов.

что такое fakepath при загрузке файла. Смотреть фото что такое fakepath при загрузке файла. Смотреть картинку что такое fakepath при загрузке файла. Картинка про что такое fakepath при загрузке файла. Фото что такое fakepath при загрузке файла

Или отключите параметр «Включить путь к локальному каталогу при загрузке файлов в сервер » .

что такое fakepath при загрузке файла. Смотреть фото что такое fakepath при загрузке файла. Смотреть картинку что такое fakepath при загрузке файла. Картинка про что такое fakepath при загрузке файла. Фото что такое fakepath при загрузке файла

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

Интересно то, что эта проблема не нова и почему внезапно она возникает сейчас. Поскольку это как-то связано с HTML 5 и JavaScript, я полагаю, что все больше и больше сайтов начинают пользоваться этими замечательными вещами.

Источник

Как решить C: \ FakePath?

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

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

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

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

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

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

Решение

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

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

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

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

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

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

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

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

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

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

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

Источник

Получите реальный путь вместо ‘fakepath’ при загрузке файла

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

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

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

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

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

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

3 ответа

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

Я имею в виду нечто уродливое, такое как ActiveX, flash, COM-объект, пользовательское расширение браузера или другое причудливое нарушение безопасности, которое может открыть собственный OpenFileDialog и вставить это значение в поле ввода.

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

Имя загруженного файла: C: \ fakepath \ Coverpage.pdf

Имя загруженного файла: Coverpage.pdf

Надеюсь, это поможет 🙂

Вы не можете сделать это.

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

Источник

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

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

что такое fakepath при загрузке файла. Смотреть фото что такое fakepath при загрузке файла. Смотреть картинку что такое fakepath при загрузке файла. Картинка про что такое fakepath при загрузке файла. Фото что такое fakepath при загрузке файла

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

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

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

что такое fakepath при загрузке файла. Смотреть фото что такое fakepath при загрузке файла. Смотреть картинку что такое fakepath при загрузке файла. Картинка про что такое fakepath при загрузке файла. Фото что такое fakepath при загрузке файла

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

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

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

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

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

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

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

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

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

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

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

Решение

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

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

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

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

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

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

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

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

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

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

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

Источник

Как разрешить C:\fakepath?

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

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

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

и Mozilla дает мне:

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

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

ОТВЕТЫ

Ответ 1

Ответ 2

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

Ответ 3

Ответ 4

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

Ответ 5

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

В любом случае, благодаря тем, кто разместил объяснение здесь: Безопасность браузера IE: добавление «fakepath» к пути к файлу во входе [ type= «file» ], выложили малый фиксатор-верхний.

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

Ответ 6

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

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

Ответ 7

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

Ответ 8

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *