0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 1,567
|
|
1 | |
длинные пути в имени файла-вложения18.01.2010, 16:56. Показов 66598. Ответов 37
Метки нет Все метки)
(
Не секрет, что многие "грамотные" пользователи любят создать N уровней папок на файловом хранилище и назвать файл пострашнее/подлиннее. Лотус при попытке приаттачить такое файло (в ртф-поле) ругается в основном "файл такой-то не найден" и вложения не делает.
Некоторое время проблема обходила меня стороной, но вот возникла ситуация, когда надо пользователям аттачить подобные файлы. И, понятно, напрячь их копировать сначала файл ручками куда-то покороче никак невозможно... Не приходилось ли кому решать подобную проблему и каким способом? Возможно, и не в длине пути дело - имена файлов и папок там с точками, пробелами - может такой путь лотус не хавает? Создал не в программировании по ошибке :welcome: Как-то самому перенести можно?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
18.01.2010, 16:56 | |
Ответы с готовыми решениями:
37
Длинные пути к файла
Макрос Outlook для сохранения вложения в папку по частичному совпадению имени файла
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
18.01.2010, 17:58 | 2 |
по теме: глючило добавление аттача лотусскриптом, когда в имени файла 2 или более !, пробелы и точки вроде как не мешали.
за ограничение по длине пути - смотрела, точно не помню, что в итоге вышло - может быть, ошибка скорее операционки, чем лотуса. как файл аттачится - в уи на собаках? P.S. ![]()
0
|
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 1,567
|
|
18.01.2010, 18:16 | 3 |
![]() скриптом в бэкграунде по хотспоту - ошибка 4225... что прикольно - из предыдущих моих тем про показ аттачей повторно внизу документа - вот тут внизу аттачи добавляются! :welcome: рт-поля пустые после ошибки, но вложения в документе есть и видны внизу документа ;)
0
|
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
|
|
18.01.2010, 18:33 | 4 |
![]() Name oldName As newName - переименовывает файл/дирректорию (может не быть нужного доступа). FileCopy - копирование файла.
0
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
18.01.2010, 18:36 | 5 |
![]() посмотри в сторону ограничения на длину пути... кстати, сколько хоть там в итоге путь получился, интересно? внизу документа аттачи обычно, когда лотус сам аттач переименовывает. Это либо при дублировании имени, либо при наличии каких-то спецсимволов (вот у меня такое воспроизводилось с "!!" - в имя аттача писалось то, что было справа от этих символов. по ходу - еще запятую проверь, с ней багов не помню, но чего-то проверки на нее видела)
0
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
|
18.01.2010, 18:53 | 6 |
![]() нотесовыый диалог не хавает больше 255 символов в латинице, если кириллица, то один символ за два... страшная папка - Мои документы ))) ![]()
0
|
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 1,567
|
|
19.01.2010, 09:12 | 7 |
![]()
0
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
|
19.01.2010, 09:25 | 8 |
![]() вроде, метод, который аттачит хавает длинные пути, а сам диалог - нет, FileCopy там в общем и не нужен, получается... давно это было... а как же мы делали? может, забили? я уже и не помню... кто там помнит как системный диалог выбора файла показать АПИшками?
0
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
19.01.2010, 09:30 | 9 |
имя файла в OpenFileDialog режется?
0
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
19.01.2010, 09:31 | 10 |
![]() Добавлено Можно рт-лайтную скрепку заменить хотспотом с ЛС-кодом, отлавливать вышеуказанную ошибку и выводить своё сообщение об ошибке с настоятельной рекомендацией переместить/переименовать файл.
0
|
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 1,567
|
|
19.01.2010, 09:39 | 11 |
![]() ![]() в фоне копировать файло в тмр и потом аттачить - единственный, пожалуй, выход... но... ![]()
0
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
19.01.2010, 09:45 | 12 |
![]()
0
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
|
19.01.2010, 10:47 | 13 |
![]()
0
|
0 / 0 / 0
Регистрация: 16.08.2009
Сообщений: 100
|
|
19.01.2010, 10:57 | 14 |
![]() Ссылка 1. Простая. <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Это легко проверить</div></div><div class="sp-body"><div class="sp-content"> Создай для опыта такой вот .cmd файл: Set MyFolder="D:\Имя папки длиной 244 символа -012345678901234567890123456789012345678901234567890123456789 01234567890123456789 012345678901234567890123456789012345678901234567890123456789 01234567890123456789 0 12345678901234567890123456789012345678901234567890123" MkDir %MyFolder% Echo Test! >> %MyFolder%\01234567890 Запусти! Теперь зайди в созданную папку (откуда угодно - из Проводника, из Far / Total Commander, из своей собственной оболочки) и попытайся создать хоть какую-то папку! Нихрена не получится! :what? Итак, максимальная длина имени папки - 244 символа, попытаешься больше - получишь: "Имя файла или его расширение имеет слишком большую длину". Внутри этой папки нельзя создавать подпапки (даже однобуквенные!), но можно создать файл, у которого Имя + Расширение <= 11 символов (больше - низя!! почему 11? 8+3 - формат DOSовского имени). Суммарно получается: 244 + 11 = 255 символов - открываем windows.h и видим: #define MAXPATH 256 - вах-вах-вах! Какие молодцы Мелкомягкие, не обманули на этот раз :( Мораль: в программах под Windows для хранения имён файлов / путей для задания размера используем MAXPATH (например: char FileName[MAXPATH]) и надеемся, что в наследнице Vista - Windows 7 Vienna (или в Longhorn) MAXPATH будет увеличиваться пропорционально увеличению возможностей файловой системы ОС. Ссылку в мсдн искать лень..
0
|
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 1,567
|
|
19.01.2010, 11:47 | 15 |
ну это про путь полный.. сейчас изучаю что есть в файлах - там в именах и запятые, и точки, и иные символы... всё больше чувствую, что именно в символах дело, осталось понять что гарантированно не нравится....
0
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
|
19.01.2010, 13:07 | 16 |
![]()
0
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
19.01.2010, 13:16 | 17 |
не знаю - можноли перехватить ошибку в форме, не пробовал
ежели можно - переключить на свой выбор (нативный ДБ)
0
|
Tyo
|
|
19.01.2010, 18:30 | 18 |
![]() In the ANSI version of thys function, the name is limited to MAX_PATH characters. To extend thys limit to 32,767 wide characters, call the Unicode version of the function and prepend "\\?\" to the path. For more information, see Naming a File. |
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 1,567
|
|
19.01.2010, 18:36 | 19 |
вот бы кто пожертвовал готовую функцию преобразования
0
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
19.01.2010, 19:54 | 20 |
готовую ф-цию чего, ежели не отловить ошибку (при нажатии скрепки) - всё тщетно
ежели обсуждаем получение строки пути: http://www.lotusgeek.com/LotusGeekBlog.nsf...nks/ROLR-6KGKV4
0
|
19.01.2010, 19:54 | |
Помогаю со студенческими работами здесь
20
Извлечение имени файла и пути из строки Кирилица и пробелы в пути и имени файла. GET запрос
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |