Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/42: Рейтинг темы: голосов - 42, средняя оценка - 4.67
4 / 4 / 2
Регистрация: 11.10.2007
Сообщений: 52

Получить полный путь к файлу из диалога открытия файла из js

19.08.2017, 15:42. Показов 8212. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно кроссбраузерное решение. Сам файл мне не нужен, нужен только полный путь к нему.

Запуск всего процесс нужно производить из js
Открываю диалог (аналогичный Файл-> Открыть файл) - пока нашёл только такой вариант.
1. На странице размещаю скрытый элемент
HTML5
1
<input id=fileopen  type="file" name="openfile" accept="application/pdf" style="display: none" onChange="fnOpenFile(this)">
2. Чтобы открыть диалог выбора файла выполняю клик по этому элементу из js
JavaScript
1
document.getElementById("fileopen").click();
3. В результате открывается стандартный диалог браузера по выбору файла. После выбора файла и нажатия Ок запускается функция, в которой читается имя\путь к файлу
JavaScript
1
2
3
4
function fnOpenFile (myoblect){
        vsr filename = myoblect.files[0].name;//только имя файла без пути к нему
        vsr filepath = myoblect.value;//путь и имя файла
 }
Понятно, что безопасность браузера не даёт считать настоящий путь к файлу и в filepath записывается C:\fakepath\мойфайл.pdf

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

М.б. и для вызова диалога открытия файла существует более человеческое решение?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.08.2017, 15:42
Ответы с готовыми решениями:

Как получить путь к файлу в диалоговом окне открытия файла и передать в текстовое поле в форме
Спасибо всем, кто пишет как открыть из Ассеss диалоговое окно. Работает...Оно открывается, выбираю файл (а файл ничего не делает:). Стоит...

Файл: Получить полный путь к файлу и записать этот путь в отдельную переменную.
Доброго времени суток.Столкнулся с проблемой в ходе выполнения задачи. Мне нужно получить полный путь к файлу и записать этот путь в...

Получить полный путь к файлу
Как мне получить полный путь к файлу &quot;1.bat&quot;, который находится в той же папке что и exe-ник программы?

9
 Аватар для Уф
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
21.08.2017, 10:01
для чего тебе этот путь скажи сначала? почти для всех задач можно и без него обойтись.
0
4 / 4 / 2
Регистрация: 11.10.2007
Сообщений: 52
21.08.2017, 16:41  [ТС]
Общая задача - скачивание Пользователем файлов себе на комп.
Например, в папке в сети лежат файлы. В поле таблицы на странице Пользователя записаны наименования файлов. В БД для этих файлов записан путь для скачивания. Пользователь кликает на наименовании файла - получает окошко открыть/сохранить.

Чтобы записать в БД этот путь к файлу хотел сделать так: Администратор (на своей странице) кликает на кнопку "загрузить", в открывшемся диалоге выбирает файл, после нажатия Ок в БД записыватся путь к этому файлу. /*Эти файлы выкладывают в сеть другие сотрудники*/
Периодически запускается проверка наличия файлов по этим ссылкам и, если файл не найден, запись в БД удаляется.

/*Конечно остаётся вариант - записать весь файл в поле БД. Однако в этом случае автоматическая проверка актуализации файла под вопросом, т.к. неизвестно где его искать ... путь к файлу C:\fake */
0
 Аватар для Уф
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
21.08.2017, 17:29
проще писать тогда exe программу, а не через браузер, она лезет в базу на сервере, и программой легко вычитаваются все полные пути и копируются файлы по сетке, например на visual basice или какой язык знаешь

Добавлено через 16 минут
еще интересно файлы разбросаны по разным местам или надо синхронизировать только определенную директорию? а то можно допустим пользователь запускает командный файл scan.bat, он перебирает все в папке и на выходе есть output.txt, в котором лежит список имеющихся файлов и их контрольные суммы md5, потом это файл он тебе и отсылает, а ты его сравниваешь с базой и выводишь ему на экран ссылке на новые файлы которые ему надо обновить. но тут конечно много ручной работы польвателя. я бы все таки делал обычную программу

Добавлено через 10 минут
а и еще, если пользователи выклывают файлы на тот же сервак где у тебя база и сайт, че бы ты их не вычитал с помощью пхп скрипта?
0
4 / 4 / 2
Регистрация: 11.10.2007
Сообщений: 52
21.08.2017, 17:45  [ТС]
Папки разные в разных местах. Если бы был хотя бы ограниченный перечень, то просканировать можно было бы прямо из PHP. При таком сканировании нужно будет ещё и решать коллизии, например в разных папках могут оказаться два одинаковых по названию файла с разным содержимым (нужно будет сравнивать файлы по размеру/объёму/дате и пр)
0
 Аватар для Уф
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
21.08.2017, 17:49
можно по md5 сравнивать
0
4 / 4 / 2
Регистрация: 11.10.2007
Сообщений: 52
21.08.2017, 17:53  [ТС]
Папок очень много. При поиске и добавлении нового файла будет зависать на долго.
0
 Аватар для Уф
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
21.08.2017, 17:55
Лучший ответ Сообщение было отмечено NewEd как решение

Решение

а ты один раз просканируй и запиши все в базу, а потом при добавлении одного файла будешь по базе искать дубли, а не по файловой системе
1
4 / 4 / 2
Регистрация: 11.10.2007
Сообщений: 52
21.08.2017, 18:23  [ТС]
При отсутствии других вариантов, это может быть решением. Выглядит немного громоздко - при добавлении даже одного файла в базу нужно будет запускать сканирование всей сети.
0
 Аватар для Уф
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
22.08.2017, 09:51
выборки из базы даже с миллионом строк займет не больше секунды, это быстрее чем перечесать всю файловую систему
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.08.2017, 09:51
Помогаю со студенческими работами здесь

Как получить полный путь к файлу?
Всем здравия и благополучия! Помогите пожлуйста разобраться с jquery которая была применина к &lt;input type=&quot;file&quot;/&gt;, ...

Получить Полный путь к файлу по Дескриптору
Нашел вот этот пример, а как использовать не знаю. Подскажите Пожалуйста. static extern void GetWindowThreadProcessId(IntPtr hWnd, out...

Получить полный путь к файлу созданного через ofstream
std::string name = &quot;kalyaka-balyaka&quot;; std::ofstream F(name, std::ios::out); std::cout &lt;&lt; &quot;Polniy put': &quot; &lt;&lt; ???; Создал файл в...

Как получить ПОЛНЫЙ ПУТЬ к файлу из сохраненной на листе гиперссылки?
Добрый день. У меня есть книга эксель, в которой на отдельном листе собраны гиперссылки на другие файлы экселя. Необходимо...

Макрос в OpenOffice Calc, как получить полный путь к файлу?
Здравствуйте! Делаю макрос в OO Calc , вывожу полный путь к файлу MsgBox ThisComponent.Location Сообщение появляется в таком виде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru