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

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

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

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

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

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

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

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

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

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

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

И, очевидно, настоятельно рекомендуется добавить сайты в список надежных сайтов. Изменение пользовательского уровня нарушает уровень безопасности в 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 error. что такое fakepath при загрузке файла фото. что такое fakepath при загрузке файла-Fakepath error. картинка что такое fakepath при загрузке файла. картинка Fakepath error. Недавно несколько моих коллег спросили меня, почему у них появляется C:fakepath после того, как они загружают файл или изображение на веб-сайт. в Internet Exlorer, а именно Craiglist в качестве одного из них. После небольшого исследования тайна была раскрыта.

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

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

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

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

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

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

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

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

нам нужно придумать отличную идею, я думаю. Но так как некоторые ответы действительно старые, я подумал, может быть, есть решение для этого к настоящему времени. 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 не будет опубликован. Обязательные поля помечены *