А что, в линупсе тоже есть максимальная длина файла или это просто Дропбокс такой умный, что не может скачать файл с именем в 182 символа?
Linda-chan, смотря какая файловая система
Дата рождения: 01.11.1983
Тотальная неудачница и убийца жёстких дисков. Самая большая поклонница Ариэль. Член ордена Вселенского тормоза имени Осаки-сан. Любительница каваййных переднеприводных машинок. Суккуб на полставки. Когти прилагаются.
А что, в линупсе тоже есть максимальная длина файла или это просто Дропбокс такой умный, что не может скачать файл с именем в 182 символа?
Linda-chan, смотря какая файловая система
Техническое ограничение вроде как есть, но это зависит от файловой системы, разве нет?
BTRFS 255 bytes
exFAT 255 UTF-16 characters
ext2 255 bytes
ext3 255 bytes
ext3cow 255 bytes
ext4 255 bytes
FAT32 8.3 (255 UCS-2 code units with VFAT LFNs)
NTFS 255 characters
XFS 255 bytes
Linda-chan, /3 таки. Но полный путь - не лимитирован.
В линуксе тоже есть лимиты ан путь - https://serverfault.com/que...s-on-linux/9548#9548
Toyoku-mono, как интересно. не лимитирован для FS, но лимитирован, сцуко, со стороны ОС, из-за используемого типа данных
Toyoku-mono, нихрена неясного, я вот токо шо открыл limits.h и своими глазами прочитал)
короче, длинна полного пути файла сохраненного в хомяке - 4091-len(username)
Toyoku-mono, С:\Хрень по работе\Гемор\Тупые клиенты\Неплательщики\охуевшие\Уважаемый Сергей Анатольевич.doc
Linda-chan, %windir%\system32\drivers\etc\porno?
Linda-chan, вот, а ты клиент дропбокса через strace запусти
Ну, как сказать. Из первого же результата по «MAX_PATH» в Google:
В приложениях, которые используют Win API для работы с файлами, рецепт избавления от ограничения MAX_PATH был известен с незапамятных времён – необходимо было использовать Unicode версию функции с окончанием «W» для работы с директорией или файлом и начинать путь с префикса \?. Это давало возможность использовать пути длинной до 32767 символов.
+
В Windows 10 (1607) поведение функций для работы с файлами изменилось: появилась возможность отключить проверку ограничений MAX_PATH на уровне системы.
Так что таки отменяли.
Linda-chan, как я счастлив, что избавлен от этого дерьма
Toyoku-mono, не, просто ни одной венды дома нету
Toyoku-mono, упаси Торвальдс
как ни странно, но таки есть и на длину пути и имена. иногда выскакивает, когда пытаешься например бекап хомяка с винды распаковать на месте в глубинах хранилища. Особенно припекает несоответствие
"NTFS - 255 characters" и "linups fs - 255 bytes"
Linda-chan, 255 чего?
lpMaximumComponentLength
Points to a doubleword value that receives the maximum length, in characters, of a filename component supported by the specified file system. A filename component is that portion of a filename between backslashes.
The value stored in variable pointed to by *lpMaximumComponentLength is used to indicate that long names are supported by the specified file system. For example, for a FAT file system supporting long names, the function stores the value 255, rather than the previous 8.3 indicator. Long names can also be supported on systems that use the New Technology file system.
Linda-chan, даблворд - это ж 4 байта на символ, не?
Linda-chan, ну, всегда остается "волевое решение"
Linda-chan, Ура. решение найдено. А обмен между вендой и лялихом шел?
Linda-chan, там что, тоже USC-2? По образу и подобию MS?
Короче, виновный найден - криворукие писатели дропбокс-клиента, которые нихрена не в курсе о кодировках, используемых в ФС
Linda-chan, Корпоративные клиенты либо сидят на одном стэке технологий, либо, не такие уж они корпоративные...
Linda-chan, перекодировать из USC-2 в uft-8.
Данные от том, с какой ОС подключился клиент - у них имеются
Linda-chan, это не у меня, это у Поставщиков Корпоративных Решений
Linda-chan, как ты убедилась, стащив файл в веба, это даже браузеры умеют. вернее, веб-морда, браузерам выдает то, что они умеют.
Веб-приложение, должно отдать клиенту то, что умеет клиент. Браузерам отдали, а собственному клиенту - не сумели
akagitsune, ну, давай нихрена не выдавать и не копировать файл, так лучше?
Linda-chan, мне имя файла от сервера УЖЕ должно прийти в utf-8, ибо в заголовке запроса указано, что это Client DropBox/Linux
Ты говоришь какую-то чушь. Броузеру выдаётся файл с таким-то именем, броузер предлагает сохранить этот файл, используя системный/тулкитный диалог. Если не сохраняется, пользователь меняет имя файла, как нужно. Клиент делает тоже самое, но ты предлагаешь ему самому догадаться, как разрулить ситуацию.
akagitsune, программа для пользователя или пользователь для программы? то что ты предлагаешь - это второй случай. "ну не шмогла я" и ебитесь как хотите
Linda-chan, я предлагаю запрашивать у клиента кодировку фс и выдавать ему данные в этой кодировке. Имхо, как-то логично
Linda-chan, окай, не клиента. дело СЕРВЕРА дропбокса, отдать данные в правильной для клиента кодировке. Так лучше?
Linda-chan, уверен, что нет. как ты писала выше, клиент тупо использует системную функцию. Следовательно, переконвертация кодировок для различных ФС и даже локалей, должна ложится на сервер.
Linda-chan, да вдвойне чушь, если учесть, что файл как-то залился на дропбокс, а на том же дропбоксе - линукс, со всеми вытекающими.
Linda-chan, збс
Linda-chan, уела
Linda-chan, бля. ты ведьма. а я себе моск ломаю.
А у изначального заливальщика, что с файлом станет? тоже переименуется?
Ну дык. Была же метода получения файлов из любого аккаунта по хэшу файла. Тоесть можно предположить, что там файлы хранились в одной куче, искались по хэшу, а в БД уже хэши были распределены по конкретным аккаунтам. Потом дело прикрыли, но, скорее всего, просто сверкой доступных хэшей в аккаунте.
Linda-chan, какие данные, какая база...
Он заливал не через клиент, а через фичу «File Request». Тоесть что-то типа входящих файлов: заливать может любой, у кого есть правильная ссылка, а смотреть залитое только я.
Linda-chan, кокой ужос(
Я в базах не очень.
Удобная штука.
Данные хранить непродуктивно
Linda-chan, в NoSQL хранилищах, вполне себе быстро и чотко можно хранить всякую бинарную хуету.
Toyoku-mono, Ораклу про это расскажи
В: О великий Оракул, эффективно хранить данные?
О: Эффективно хранить картоху и лук, консервы там всякие!
Toyoku-mono, ога, а так же патроны, тушенку, крупы...
... трупы.
Toyoku-mono, Трупы? Хранить? Какой с них профит?
тушенка кстати не прикольна, лучше морской экстренный паек.
Профит в отсутствии отсидки, например.
Toyoku-mono, скорми свиньям, и не будет вонять
А не проще на гуляш и холодец?
Linda-chan, в общем, если это что-то корпоративное и расчитано на кроссплатформенность, то имеет смысл запретить клиенту создавать и заливать файлы с именами и путями длиннее консенсусного максимума для кроссплатформенных клиентов. Ну или все на ntfs перевести, чтоб мозги не парили.
Toyoku-mono, крупные кости куда девать? Они ж вполне узнаваемы.
А после свиней - только коронки останутся...
Из костей сделать поделки, продавать на ближайшей ЖД станции.
Toyoku-mono, это ты такое творческое, а я даже стол никак не зопилю(
Стол из костей?
Toyoku-mono, не, из дерева. и найти еще 8 учеников
33 года, плотник, 13 учеников, вот это все... опоздал на 3 года уже
Лидером секты заделаться?
Toyoku-mono, пуркуа па?
вообще, это ФС-зависимо, но ни одна из известных мне использумых линупсоидами ФС не имеет ограничения в 182 (однобайтных) символа в имени файла (например, у tmpfs и ext4 - 255 байт)...
Впрочем, не то, чтобы я копал глубоко и был точно уверен, что это ограничение полностью на уровне фс
Где-то выше пришли к выводу, что таки ограничение на уровне ФС сработало. Имя файла было на русском, и в 255 байт не вписалось.