Вопрос или проблема
Учитывая 2 изображения ниже, почему я могу перетаскивать первое в локальную папку на своем ПК, но второе этого не позволяет. Протестировано на Chrome, Brave, Opera и Edge.
Кроме того, если открыть изображение в новой вкладке, первое отображается по центру окна, а второе – выровненное по верхнему левому углу рамки браузера.
Второе изображение – это горячая ссылка с CDN Telegram. Делают ли они что-то на стороне сервера, что заставляет браузер обрабатывать их изображения по-другому?
Правый клик -> Сохранить изображение как… работает как и ожидалось для обоих изображений.
Я получил эту ошибку, когда пытаюсь перетащить это в последнем Windows 10:
Что, конечно, указывает на проблемы с именем файла, и это определенно связано с допустимой длиной.
P_DjfFnzHz1ghVrQK2v0xuusZBSPdqzoo_Pelvb1l1eU7VNuS8pINui1xrfMhcCJfsYzhzV_dv9y3E9fAy2hZ85hmX5VZ9QF0f32ZYnmyA5WHtKCQeS2E_WWSNYPvmtHgtgRRnk1S2uXsDfSy_-v86uT5W9w4vC4MvMdkkHmi777HH-BMSUWXYZARwn30ELEcded1208V6WzFJJCRVsUU4FPTrA-i1ldzWm4fP7pugmdBaO2ehgYnlP6KWMEOPUtvj3VWKAcFSUvjh4af5wQOjOWD9UJZS5JYQbupzs1rJE78RuednPXpvIDbCk3YZ6W4ScNxgbRokpuLjhduHyLcQ.jpg
– это имя файла, установленное Telegram.
P_DjfFnzHz1ghVrQK2v0xuusZBSPdqzoo_Pelvb1l1eU7VNuS8pINui1xrfMhcCJfsYzhzV_dv9y3E9fAy2hZ85hmX5VZ9QF0f32ZYnmyA5WHtKCQeS2E_WWSNYPvmtHgtgRRnk1S2uXsDfSy_-v86uT5W9w4vC4MvMdkkHmi777HH-BMSUWXYZARwn30ELEcded1208V6WzFJJCRVsUU4FP.jpg
– это то, что диалог сохранения сокращает, когда вы выбираете эту опцию.
Chrome забыл реализовать аналогичную функцию для перетаскивания и нет ничего, что вы могли бы с этим сделать, кроме как, возможно, заполнить отчет об ошибках Chromium.
Смотрите также документы о ограничениях. Обратите внимание, что упоминается запись в реестре, которую вы могли бы изменить, чтобы включить более длинные пути, но это не поддерживается Проводником по сей день.
Ответ или решение
Причины проблемы с перетаскиванием изображений в браузерах Chromium на Windows 10
Проблема с невозможностью перетаскивания изображения, размещенного на CDN Telegram, в локальную папку на вашем компьютере через браузеры на базе Chromium (такие как Chrome, Brave, Opera, Edge) может быть связана с несколькими факторами, включая ограничения на длинные имена файлов, а также специфику сервера, который хостит изображение.
1. Специфика хостинга изображения
Первое изображение, размещенное на сервере общего доступа, позволяет осуществлять перетаскивание, поскольку его структура URL и формат не создают замысловатых проблем для браузера. С другой стороны, изображение Telegram может содержать более длинный и сложный уникальный идентификатор, что вызывает проблемы при перетаскивании.
2. Ограничения на длину имени файла в Windows
Существует известное ограничение в Windows 10 по длине имени файла, которое составляет 260 символов. При попытке перетаскивания изображения с очень длинным именем файла, например, как в случае с Telegram (пример: P_DjfFnzHz1ghVrQK2v0xuusZBSPdqzoo_Pelvb1l1eU7VNuS8pINui1xrfMhcCJfsYzhzV_dv9y3E9fAy2hZ85hmX5VZ9QF0f32ZYnmyA5WHtKCQeS2E_WWSNYPvmtHgtgRRnk1S2uXsDfSy_-v86uT5W9w4vC4MvMdkkHmi777HH-BMSUWXYZARwn30ELEcded1208V6WzFJJCRVsUU4FPTrA-i1ldzWm4fP7pugmdBaO2ehgYnlP6KWMEOPUtvj3VWKAcFSUvjh4af5wQOjOWD9UJZS5JYQbupzs1rJE78RuednPXpvIDbCk3YZ6W4ScNxgbRokpuLjhduHyLcQ.jpg
), происходит возникновение ошибок, связанных с нарушением правил синтаксиса имени файла.
Как правило, такие ошибки будут представленны в виде предупреждений о неверном синтаксисе, как в приложенном вами изображении (в частности, указание на проблемы с длиной имени файла).
3. Кросс-браузерные различия
Разные браузеры могут по-разному обрабатывать перетаскивание. Например, в случае с изображениями, находящимися на сторонних ресурсах (как в вашем случае с CDN Telegram), некоторые браузеры могут не поддерживать перетаскивание для таких ресурсов в силу ограничений CORS (Cross-Origin Resource Sharing). Это значит, что для определённых запросов с другого домена перетаскивание может быть заблокировано.
4. Решения и обходные пути
-
Сохранение через контекстное меню: Как вы уже упомянули, вариант с правым кликом мыши и выбором «Сохранить изображение как…» работает и позволяет обойти проблему с перетаскиванием. Убедитесь, что вы используете это решение для загрузки изображений с длинными именами.
-
Ссылки на изображения: Если это возможно, вы можете попробовать создать локальную копию изображения, использовав его URL и загрузив через специализированные программы или команду cURL.
-
Обращение к разработчикам: Как вы заметили, проблема также может быть связана с реализацией в Chromium. Возможно, стоит создать заявку на исправление в баг-трекере Chromium, если функционал перетаскивания не будет реализован в будущем.
-
Использование дополнительного программного обеспечения: Рассмотрите возможность использования сторонних программ для управления загрузками, которые могут избежать указанных ограничений.
Заключительные мысли
Проблемы с загрузкой изображений могут варьироваться в зависимости от многих факторов, включая сервер, который предоставляет ресурсы, а также ограничения операционной системы. В вашем случае, использование метода «Сохранить изображение как…» представляет собой наиболее простой и эффективный путь для решения проблемы с загрузкой изображений с длинными именами из Telegram.