Как открыть файл по ссылке

Обновлено: 01.07.2024

Вы можете создать ссылку на существующий локальный файл (то есть на вашем собственном компьютере), который будет зарегистрирован на сервере содержимого как управляемый ресурс сайта.

Чтобы создать ссылку на существующий локальный файл, выполните следующие действия:

Выделите текст (или изображение), которое вы хотите превратить в ссылку.

Нажмите значок "Создать гиперссылку" (рисунок) на панели инструментов.

Создать значок гиперссылки

Запускается мастер ссылок (см. Мастер ссылок).

Выберите Ссылка на файл .

Выберите «Существующий локальный файл» и нажмите «Далее».

Отображается стандартная страница регистрации контента на сервере контента.

Введите соответствующую информацию о содержимом (метаданные), чтобы зарегистрировать элемент на сервере содержимого. Большая часть информации будет предоставлена ​​автоматически. Если имя поля отмечено красным, это поле является обязательным (то есть элемент не может быть возвращен, если поле пусто). Используйте кнопку «Обзор» рядом с полем «Основной файл», чтобы перейти к файлу на вашем компьютере и выбрать его. Также не забудьте указать заголовок.

Когда закончите, нажмите «Далее».

Выберите целевой раздел для ссылки. Вы можете выбрать один из следующих вариантов:

Использовать метаданные раздела веб-сайта по умолчанию. Если выбрать этот параметр, файл содержимого с гиперссылкой будет отображаться в разделе веб-сайта, как указано в поле метаданных раздела веб-сайта для файла содержимого. Если дизайнер сайта позволяет участникам выбирать формат URL-адресов для ссылок, вы должны использовать формат URL-адресов на основе идентификатора (см. следующий шаг).

Выберите раздел веб-сайта. Если вы выберете этот параметр, файл содержимого с гиперссылкой будет отображаться в разделе веб-сайта по вашему выбору (фактически переопределяя целевой раздел файла содержимого по умолчанию). Раздел может находиться на текущем веб-сайте или другом сайте Site Studio на сервере содержимого.

Ссылка на URL-адрес элемента контента. Если вы выберете этот параметр, файл будет отображаться точно так же, как он хранится на сервере контента, а не в рамках веб-сайта. Это полезно для ссылок на исходные документы, такие как файлы PDF.

Нажмите "Далее", чтобы продолжить.

В зависимости от конфигурации сайта вам может быть предложено выбрать формат URL ссылки:

URL-адрес на основе пути: ссылка будет содержать путь к целевому местоположению. У вас есть два варианта для этого типа ссылки:

Абсолютный путь: создает полный путь; например, Menus/switched_region_CDF (где " " заменяется путем к корню веб-сайта).

Относительный путь: вместо полного пути создается относительный путь; например ../Menus/switched_region_CDF .

Обратите внимание, что этот параметр недоступен, если вы решили использовать раздел веб-сайта по умолчанию для файла содержимого в качестве целевого раздела (см. предыдущий шаг).

URL-адрес на основе идентификатора: ссылка будет содержать закодированный идентификатор целевого местоположения, а не имя на основе пути. У вас есть три варианта для этого типа ссылки:

Формат клиентского сценария: использует клиентский JavaScript для создания ссылки на целевое местоположение; например, javascript:link('switched_region_CDF'); .

Формат сценария на стороне сервера: использует сценарий Idoc на стороне сервера для создания ссылки на целевое местоположение; например, .

Формат токена URL: использует перенаправление на сервере для создания ссылки на целевое местоположение; например, ssLINK/switched_region_CDF .

Откроется диалоговое окно "Параметры цели ссылки".

Если вы хотите, чтобы ссылка открывалась в новом окне веб-браузера при нажатии, установите флажок Открыть цель ссылки в новом окне, а затем выберите цель в меню ( _blank ). Вы также можете напрямую ввести имя цели в текстовое поле, если хотите, но если это недопустимая цель, ссылка будет ошибочной.

При попытке открыть локальный файл я использую следующее:

Когда я нажимаю на ссылку выше в браузере, Finder открывает папку. Но не открывает файл. Должен ли я сделать что-то еще, чтобы файл открылся в Numbers?

6 ответов 6

Вы не можете открывать локальные файлы на клиенте. Это было бы огромным риском для безопасности.

Вы можете ссылаться на файлы на вашем сервере (как вы это делали) или запросить файл у клиента с помощью

Это мой локальный компьютер, поэтому безопасность не имеет значения. Как открыть файл? Кажется, что это намного больше работы, чем просто щелкнуть ссылку.

нет, это предназначено для загрузки файла, если у вас действительно есть только локальный файл (не сервер), тогда можно получить доступ к этим файлам, но я не знаю о файлах .number. Другие комментарии хорошо объяснили это

В браузерах можно открывать только некоторые типы файлов, например html, css, js и mp4, иначе браузер захочет загрузить их. Также помните, что браузеры заменяют пробелы на %20. Я рекомендую щелкнуть файл правой кнопкой мыши и открыть его с помощью Chrome, затем скопировать эту ссылку и использовать ее.

Вы можете открывать локальные файлы, если это файл, который находится в файле, который пытается открыть другой файл, является локальным.

Потому что проблема, скорее всего, заключается в неверной ссылке на URL. Однако это может быть тип файла. Изменение файла на .txt может решить эту проблему.

Нет, это просто запрещено. С html-кодом проблем нет. Вам не разрешено открывать другую программу с веб-сайта.

Если это не веб-сайт, а просто файл на компьютере пользователя, вы можете открыть любой файл из любого каталога на компьютере пользователя. Если он пытается создать веб-сайт, то вы, конечно, правы, он не сможет, если не сделает расширение, которое позволит это сделать.

Кажется, вы правы. Обычно вы настраиваете локальный сервер, если он вам нужен для программы или чего-то подобного, где он снова должен быть в файлах сервера. Но если вы этого не сделаете, вы действительно правы, извините

Ваша проблема, скорее всего, связана с пробелом в названии документа. Вместо этого попробуйте следующее:

Ваш браузер будет читать %20 как пробел.

Обновление
Другой ответ указывает на то, что я пропустил. Расширение .numbers нельзя будет открыть напрямую в вашем браузере. Кроме того, в другом ответе описывается угроза безопасности, которую это может создать.

File API в HTML 5 теперь позволяет работать с локальными файлами непосредственно из JS (после базового взаимодействия с пользователем при выборе файлов в целях безопасности).

"Интерфейс File предоставляет информацию о файлах и позволяет JavaScript на веб-странице получать доступ к их содержимому.
Объекты File обычно извлекаются из объекта FileList, возвращаемого в результате выбора пользователем файлов с помощью элемента, из объекта DataTransfer операции перетаскивания или из API-интерфейса mozGetAsFile() в элементе HTMLCanvasElement ."

Хорошо. У меня есть клиент со своеобразным запросом, который я передам здесь. Я должен с самого начала заявить, что я считаю, что то, о чем он просит, не может быть достигнуто, но я сообщаю об этом всем, поскольку я доверяю ответам этого сообщества больше, чем где-либо еще. Так вот.

Клиент имеет существующую базу данных на основе Oracle, для которой из-за проблем совместимости с javascript предпочтительным веб-браузером является Chrome.

Однако в БД полно ссылок на локальные файлы в формате "file://"

Изначально Chrome не разрешает такие ссылки и не открывает их.

Итак, вопрос - кто-нибудь нашел способ заставить Chrome открывать локальный файл из файла: // -введите ссылку в Chrome *БЕЗ* с помощью плагина или расширения?

Гарет Комптон

Участвуйте, чтобы выиграть еженедельные подарочные карты (от 100 евро), Oculus и наушники/колонки

Конкурс завершается 27 марта 2022 г. Конкурсы Каждую неделю узнайте больше о том, как Red Hat может помочь вам добиться простоты и цифровых инноваций, и ответьте на вопрос. Детали конкурса Просмотреть все конкурсы

Этот человек является проверенным специалистом

Кризз

Я провел небольшой (повторный) поиск ассоциаций файлов в Chrome и нашел следующее:

Сотрудник Google говорит, что планирует реализовать в Chrome возможность "открывать" файлы на основе их расширений, и это было в 2010 году.

11 ответов

Я могу использовать файл:\\ в Comodo Dragon. Я не знаю, работает ли это для файлов, отличных от HTML.

Я могу открывать только файлы, совместимые с браузером (текст, изображение, HTML)

Он не будет открывать файлы во внешних программах.

Некоторое время Chrome не блокировал это. IE по-прежнему разрешает это.

Гарет Комптон

Клиент также нашел статью о Chromium со ссылкой на переключатель -allow-file-access, в котором говорится: «В ChromeOS доступ к файлу:// отключен, за исключением определенных каталогов из белого списка. Этот переключатель повторно включает файл:// для тестирования."

<р>1. Это относится и к Chrome?

<р>2. Что такое каталоги, внесенные в белый список, и как мы можем изменить этот список.

Опять же, я не думаю, что это относится к браузеру Chrome, но если кто-то может доказать обратное, я буду рад передать информацию клиенту.

Этот хромированный переключатель работает, но больше не работает в более новых версиях. Я посмотрю вокруг, никогда не видел часть белого списка вашего поста. Я столкнулся с этой проблемой пару недель назад, но не нашел решения для Chrome.

Этот человек является проверенным специалистом

Кризз

Хм, ссылки file:// здесь открываются нормально, в последней версии Chrome. Дополнительные расширения или настройки не используются.

Файлы, изначально поддерживаемые Chrome (например, файлы mp3), открываются через встроенный проигрыватель Chrome, в то время как другие файлы пытаются загрузиться.

Гарет Комптон

тестирование на моем ПК, ссылка file:// на локальный файл изображения откроет его в браузере. Однако ссылка на электронную таблицу просто загружает файл и делает его доступным в папке загрузок Chrome, а не открывает его в Excel.

Этот человек является проверенным специалистом

Кризз

И это ожидаемо.

Вы хотите, чтобы исходные файлы по исходным путям открывались через Chrome в приложении по умолчанию? Из-за ограничений безопасности любой современный браузер не может работать с локальной файловой системой. Это не относится к изображениям или медиафайлам, поскольку они только "воспроизводятся" изначально.

Этот человек является проверенным специалистом

Кризз

Хорошо, возможно, я немного преувеличил. Браузер может передать URI внешнему приложению, проблема в том, что внешнее приложение поймет URI. Я не думаю, что Excel будет обрабатывать URI file://, но вы можете попробовать вручную - даже если нет, здесь может помочь небольшой скрипт. Настоящая проблема заключается в том, что Chrome, в отличие от других браузеров, похоже, не имеет разумного способа обработки ассоциаций расширений файлов. Все, что он может сделать, это загрузить файл, который он не может понять. Это действительно серьезное ограничение Chrome, как всегда.

Этот человек является проверенным специалистом

Кризз

Я провел небольшой (повторный) поиск ассоциаций файлов в Chrome и нашел следующее:

Сотрудник Google говорит, что планирует реализовать в Chrome возможность "открывать" файлы на основе их расширений, и это было в 2010 году.

Эта тема заблокирована администратором и больше не открыта для комментариев.

Чтобы продолжить это обсуждение, задайте новый вопрос.

Что бы вы сделали?

Итак, я работаю в MSP, который работает круглосуточно и без выходных. Старший инженер в нежелательную смену с 23:00 до 8:00 уходит. Теперь у меня есть возможность перейти на эту должность, насколько больше это должно потребовать компенсации в процентах от того, что я зарабатываю сейчас? и я скажу это.

Щелкни! Lapsus$, Excel RAT, Honda Hackers, Lunar Landers, Windows Easter Egg

Ваша ежедневная доза технических новостей. Вы должны это услышать. Подозреваемые Lapsus$ арестованы за взломы Microsoft, Nvidia, Okta. Больше информации о группе Lapsus$, ответственной за ряд недавних кибератак. Несколько из группы».

Искра! Серия Pro — 25 марта 2022 г.

Friday Из бесплатной энциклопедии Википедии. Другие значения см. в Friday (значения). Пятница — день недели между четвергом и субботой. В странах, принимающих обычай "понедельник-первый".

Вот как открывать файлы или URL-адреса из командной строки на множестве различных платформ (Windows, MacOS, Linux/Unix и Cygwin).

Вам нужна команда start; при запуске командной строки (cmd.exe) или пакетного файла используйте:

Это встроенная функция cmd, поэтому другие программы не могут вызывать ее как "старт", но другие программы могут вызывать ее следующим образом:

Обратите внимание, что если это локальное имя файла и он является исполняемым, start выполнит эту программу, а не откроет ее средство просмотра. Я не нашел команду Windows, которая бы легко открывала файлы, но никогда их не выполняла, к сожалению. Это делает startexplorer) потенциальной проблемой безопасности, в зависимости от того, как он используется, но я не нашел безопасных встроенных средств (кроме самостоятельной реализации команды ).

Многие интернет-источники рекомендуют вместо этого использовать explorer, но есть веские причины этого не делать. Если вы вызовете explorer напрямую, он будет игнорировать выбранный пользователем интернет-браузер и вместо него всегда будет использовать Internet Explorer. Пользователи, по-видимому, сделали свой выбор не просто так, поэтому вы должны уважать его.(Действительно, Internet Explorer имеет ужасную историю уязвимостей, поэтому принудительное его использование кажется плохой идеей.) Один незначительный положительный момент при использовании explorer заключается в том, что если исполняемый файл поступает из Интернет, то вам будет предоставлен диалог о том, следует ли выполнять файл. Но в реальной жизни это не очень помогает, потому что пользователи обычно игнорируют такие диалоги. Пользователи обычно не понимают и не заботятся о том, что говорят эти диалоги, и они видят так много таких диалогов, что их приучили отвечать на них «хорошо». Таким образом, эти диалоги по безопасности в основном бессмысленны.

Строго говоря, перенаправление на другие программы для открытия файлов работает только из cmd, когда включены «расширения команд», но в Windows XP они включены по умолчанию. Как обычно, запустите «help start», чтобы узнать больше о его параметрах. Связанные команды Windows assoc и ftype полезны для установки типа файла (для данного расширения файла) и команды открытия (для данного типа файла).

Вам нужна команда open, то есть:

(Вы можете использовать «-a», чтобы принудительно запустить другое приложение.)

Вам нужна команда xdg-open, то есть:

Он не всегда устанавливается, поэтому убедитесь, что установлен пакет xdg-utils (название пакета xdg-utils по крайней мере в Fedora, Debian и Ubuntu; в некоторых других дистрибутивах он может иметь другое имя). ).

К сожалению, xdg-open не входит в стандартную комплектацию Solaris. Во многих случаях лучшим решением является загрузка и установка xdg-utils, которая, как сообщается, отлично работает в Solaris. Но если необходимо, можно напрямую вызвать /usr/dt/bin/sdtwebclient в Solaris.

Если вы наверняка знаете, что пользователь использует определенный пользовательский интерфейс, вы можете вызвать эту программу (например, gnome-open) напрямую. Но такая уверенность встречается редко. Например, вы можете написать программу GNOME, но пользователь может использовать KDE для ее вызова; в этом случае gnome-open не подходит для использования. В конце концов, если пользователь использует KDE, то следует использовать именно настройки KDE. В общем, используйте xdg-open; вы сохраните свое здравомыслие и уважаете предпочтения вашего пользователя.

Простым подходом является команда cygstart, то есть:

Обратите внимание, что если это локальное имя файла и он является исполняемым, открытие файла запустит эту программу. Это та же проблема, что и в Windows, по тем же причинам (Cygwin работает поверх Windows и, таким образом, наследует многие дефекты Windows, включая этот).

Не не используйте explorer $(cygpath "path" -w), потому что, хотя это может быть быстрее, часто будет выбрано неправильное приложение (в частности, не использовать предпочтительный браузер пользователя).

Обратите внимание, что start не работает напрямую с командной строкой Cygwin mintty, а explorer работает. (Если вы используете Cygwin, немедленно установите mintty; это замечательно.) Вместо этого вы можете использовать cmd /c start., но не делайте этого; на Cygwin вместо этого вы хотите использовать cygstart. Когда вы запускаете mintty, вы можете нажать левую кнопку управления или нажать правую кнопку и выбрать «открыть».

Я надеюсь, что когда-нибудь распространяемая версия Cygwin будет поддерживать xdg-open, но по состоянию на 01.07.2010 это не так. Я знаю, что есть патч для xdg-open, чтобы он вызывал cygstart, если ничего не помогает. Cygwin включает немного похожий пакет с именем python-xdg, но по состоянию на 18 марта 2012 г. пакет python-xdg не включает xdg-open, так что это не помогает.

Остерегайтесь распространенных ошибок.

Во-первых, существует основная проблема безопасности с простыми в использовании инструментами в Windows. Обратите внимание, что некоторые из перечисленных выше команд Windows будут выполнять этот файл вместо запуска доверенного средства просмотра файла, если это локальный исполняемый файл. Это справедливо для start Windows и cygstart Cygwin, в частности. (Это также может относиться к xdg-open на Cygwin, если таковой имеется, поскольку он должен зависеть от cygstart). Я еще не нашел простого способа обойти это в Windows (включая Cygwin, который, поскольку он работает в Windows, наследует недостатки Windows). Эта неспособность легко открывать файлы без их выполнения является примером базовой уязвимости системы безопасности в Windows. Это особенно вопиющий недостаток в Windows, потому что это так легко сделать безопасно на всем остальном. Я хотел бы услышать о чем-то лучше; пожалуйста, напишите мне, если вы знаете лучшее решение! Но не задерживайте дыхание; У меня был этот запрос в течение многих лет, и никто мне ни на что не указал.

Во-вторых, убедитесь, что проблемные имена файлов обрабатываются правильно, включая имена файлов с пробелами (включая пробел, табуляцию, новую строку и возврат). В частности, если вы вызываете его из оболочки Bourne (такой как bash), заключите ссылку на переменную в двойные кавычки (как вы должны делать с любым значением, которое может содержать пробелы). Вкратце, сделайте это так: xdg-open "$filename"

В-третьих, убедитесь, что ваш призыв не будет неправильно истолкован. Все эти программы имеют разные (несовместимые) форматы опций; вам нужно убедиться, что имя пути не будет неверно истолковано как опция. Это раздражает в Windows, потому что «/» является ведущим символом для опций и возможного начала абсолютного имени файла (в Unix/Linux/MacOS есть более рациональные подходы; они используют «-», что тривиально с префиксом «./»). Кроме того, часто неясно, является ли аргумент именем файла или URL-адресом.

Как отмечалось выше, если вы преобразуете путь в URL-адрес файла, убедитесь, что вы преобразовали все символы «%» в «%25», иначе они будут неправильно истолкованы.

Наконец, остерегайтесь произвольного открытия файла; открытие /dev/zero (в Unix/Linux) или COM1: (в Windows) может вызвать проблемы. Во многих случаях это не имеет большого значения (если пользователь может просто закрыть зависший процесс), но в некоторых случаях это может вызвать более серьезные проблемы. Лучше не запускать их с привилегиями root/admin, потому что злоумышленник может создать больше проблем, если сможет просмотреть произвольное имя файла.

И вот, теперь у вас есть простой способ открывать файлы, каталоги и URL-адреса.

Если вы не используете Windows или можете доверять файлам, которые вы открываете и/или выполняете, вот простой сценарий оболочки, чтобы выяснить, как вызвать браузер текущего пользователя. Помните: не делайте этого в Windows, если вы не можете доверять файлу. В некоторых системах есть программа под названием "open", которая совершенно отличается, поэтому мы попробуем эту команду только в том случае, если другие не сработают:

Читайте также: