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

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

19.08.2017, 15:42. Показов 5449. Ответов 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.08.2017, 15:42
Ответы с готовыми решениями:

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

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

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

Как получить полный путь к файлу?
Всем здравия и благополучия! Помогите пожлуйста разобраться с jquery которая была применина к...

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

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

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

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

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

Решение

а ты один раз просканируй и запиши все в базу, а потом при добавлении одного файла будешь по базе искать дубли, а не по файловой системе
1
4 / 4 / 2
Регистрация: 11.10.2007
Сообщений: 52
21.08.2017, 18:23  [ТС] 9
При отсутствии других вариантов, это может быть решением. Выглядит немного громоздко - при добавлении даже одного файла в базу нужно будет запускать сканирование всей сети.
0
888 / 723 / 447
Регистрация: 13.07.2015
Сообщений: 2,258
22.08.2017, 09:51 10
выборки из базы даже с миллионом строк займет не больше секунды, это быстрее чем перечесать всю файловую систему
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2017, 09:51

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru