Как сделать чтобы файл не скачивался а открывался в браузере
Есть ли способ заставить PDF файлы открываться в браузере, если опция “Отображать PDF в браузере” не включена?
Я попытался использовать тег embed и iframe, но он работает только тогда, когда выбран этот параметр.
Что я могу сделать?
Чтобы файл загружался, а не просматривался:
Кавычки вокруг имени файла требуются, если имя файла содержит специальные символы, такие как filename[1].pdf , которые в противном случае могут нарушить способность браузера обрабатывать ответ.
Если вы используете HTML5 (и я думаю, что в настоящее время все используют это), есть атрибут, который называется download .
Здесь filename не является обязательным, но если оно указано, оно будет использовать это имя для загруженного файла.
Правильный тип application/pdf для PDF, а не application/force-download . Это выглядит как хак для некоторых старых браузеров. Всегда используйте правильный mimetype, если можете.
Если у вас есть контроль над кодом сервера:
- Принудительная загрузка/приглашение: используйте header("Content-Disposition", "attachment; filename=myfilename.myextension");
- Браузер пытается открыть его: используйте header("Content-Disposition", "inline; filename=myfilename.myextension");
Нет контроля над кодом сервера:
- Используйте HTML5-атрибут загрузки. Он использует пользовательское имя файла, указанное на стороне просмотра.
ПРИМЕЧАНИЕ. Я предпочитаю указывать имя файла на стороне сервера, поскольку у вас может быть больше информации и вы можете использовать общий код.
Если у вас есть Apache, добавьте это в файл .htaccess :
Если вы не хотите, чтобы браузер запрашивал пользователя, используйте “inline” для третьей строки вместо “вложения”. Inline работает очень хорошо. Отображение в формате PDF сразу же без запроса пользователя нажать “Открыть”. Я использовал “вложение”, и это заставит пользователя открывать, сохранять. Я попытался изменить гамму настройки браузера, чтобы она не предотвращала приглашение.
Я считаю, что единственным браузером, который не соблюдает эти настройки, является Chrome, поскольку он имеет встроенный просмотрщик PDF.
Уже заманало, что в папке загрузки всякие торрент, exe и прочие документы. Мне не нужно скачивать, я в любое время могу скачать что нужно, да и софт постоянно обновляется.
скачиваешь один раз файл определенного типа и сохраняешь его куда-нибудь (например Эксель файл), далее после сохранения, в правом верхнем углу браузера есть стрелочка вниз с нижним подчеркиванием, кликаешь на нее, открывается окошко загруженных файлов, кликаешь на загруженном только что Эксель файле правой кнопкой мыши, открывается меню, в этом меню выбираешь пункт автоматически открывать xls файлы. Вуаля теперь все однотипные файлы будут автоматом открываться.
Эту процедуру необходимо проделать со всеми новыми файлами по одному разу (к примеру Ворд, Торрент и прочее).
Спасибо! Никогда бы не нашел. Могли бы и в настройках продублировать, дабы не прочесывать их от начала до конца несколько раз.
К сожалению, это не совсем тоже самое. При таком способе файл всё равно скачивается в папку Downloads (по умолчанию), а не в Temp. И, соответственно, после закрытия он сам не удалится.
любое открывание файла из интернета подразумевает его начальное скачивание на винчестер, а потом открытие . учи мат-часть и не задавай таких глупых вопросов.
удачи .
Это понятно, что файл вначале скачивается, а потом открывается. Дело в том, что, например, в ИЕ когда я жму на ссылку, открывается окно: открыть или сохранить файл.
Так не приходится постоянно удалять файлы из папки "Загрузки".
я юзаю Opera 29 на основе движка хромиум, на котором и сделан яндекс-браузер. у меня в настройках есть пункт "Всегда выдавать запрос на сохранение файлов". если там не стоит галка, то любой файл будет автоматически скачен в папку по-умолчанию. делай выводы и удачи тебе :)
_Max_ Знаток (352) Да, у меня Опера 30.0 и да, там есть эта функция, и в Яндекс тоже есть. Но я не хочу сохранять ни в папке загрузки, ни где либо ещё. Я думал есть приложение которое будет лишь открывать файл. Я было делал изменил путь на корзину, но её постоянно приходится очищать. Огромное спасибо за помощь!!
Совершенно верно - НО! Например Firefox и InternetExplorer имеют кнопку "открыть" - скачивая файл в %temp, который очищается после перезапуска (в большинстве нормальных случаев)
А яндекс бесит тем что скачивает, и папка загрузок жиреет тонной ненужных файлов, которые посмотрел 1 раз.
Файлы MS Office и OpenOffice можно просматривать и редактировать прямо в Яндекс Браузере. По умолчанию сразу после скачивания файлы поддерживаемых форматов открываются в Браузере.
Какие файлы можно редактировать
Браузер поддерживает просмотр и редактирование файлов со следующими расширениями:
Открыть файл в Браузере
При первом скачивании файла офисного формата открывается страница Просмотр и редактирование документов , на которой вы можете выбрать вариант:
Используйте один из способов:
Редактировать файлы
Документы, таблицы и презентации, открытые в Браузере, можно редактировать в Яндекс Документах. Для этого нажмите в верхней части\nдокумента кнопку Редактировать копию . Копия документа сохранится на Яндекс Диск в папку Загрузки . Также вы можете редактировать документы онлайн совместно с друзьями или коллегами. Подробнее см. в Справке Яндекс Документов.
Горячие клавиши для изменения масштаба
Используйте горячие клавиши также для других действий.
Используйте горячие клавиши также для других действий.
Если документы не открываются, а скачиваются
Также проверьте, включена ли опция быстрого просмотра:
Файлы MS Office и OpenOffice можно просматривать и редактировать прямо в Яндекс Браузере. По умолчанию сразу после скачивания файлы поддерживаемых форматов открываются в Браузере.
Какие файлы можно редактировать
Браузер поддерживает просмотр и редактирование файлов со следующими расширениями:
Открыть файл в Браузере
При первом скачивании файла офисного формата открывается страница Просмотр и редактирование документов , на которой вы можете выбрать вариант:
Нажмите → Настройки → Инструменты .
Используйте один из способов:
Редактировать файлы
Документы, таблицы и презентации, открытые в Браузере, можно редактировать в Яндекс Документах. Для этого нажмите в верхней части документа кнопку Редактировать копию . Копия документа сохранится на Яндекс Диск в папку Загрузки . Также вы можете редактировать документы онлайн совместно с друзьями или коллегами. Подробнее см. в Справке Яндекс Документов.
Добрый день! Произошла такая проблема. С недавнего времени все документы (PDF, Word) размещенные на сайте стали принудительно скачиваться. Как сделать, чтобы файл открывался в самом браузере, а не скачивался.
В гугле искал, нашел решение проблемы только наоборот.
Мыслю в сторону файла .htaccess, но не уверен, так как сам его не редактировал
Комментарии
Мыслю в сторону файла .htaccess, но не уверен, так как сам его не редактировал
Попробуйте стандартный .htaccess (из дистрибутива drupal) и посмотрите результат
Пробовал. тоже самое
С недавнего времени - это последний апдейт винды? недели 2 назад?
С недавнего времени - это последний апдейт винды? недели 2 назад?
Ну точного времени я сказать не могу, т.к. именно за файлами не следил. Могу только сказать, что раньше было все нормально. Я думаю Винда тут не причем.
Ваш сервер отвечает что по данной ссылке лежит application/pdf
Из этого браузер должен отпередить что делать с полученным файлом. Как правило предлагается выбрать приложение для запуска и промотр файла в нем.
Далее во всех совр браузерах есть собственный механизм отображения типовых форматов, и сразу скажу что не копался в нем. Я думаю, что googlt предоставлял свой сервис для обертки полученного файла в html код.
копать дальше, но на форумах по php например, потому что это не Друпал проблема, я тоже буду копать и выложу резалт сюда, когда найду
Это не рецепт, это концепт
Edge открывает на вкладке, после получения согласия, но не надо торопиться рекламировать этот трюк
Для этого нужно настроить mime-types на сервере.
Судя по всему, конкретно на этом сервере он не настроен. Т.к. с моих сайтов пдфки в моём браузере открываются, а с этого скачивается. Что касается вордовских файлов, то они в любом случае будут скачиваться, если не поставить на сервер специальную смотрелку.
Дайте плиз ссылку на ваш ресурс. на самом деле нужен отклик сервера, заголовки отклика сервера, общие заголовки. можно в личку
Стоп, посмотрел у себя, там где скачивается как файл, я сам ставил в папку локальный .htaccess
переместил просто в паблик - отображается в браузере как надо. Значит сейчас разберемся
Уже ближе - у вас в заголовке присутствует
Content-Disposition: attachment
Поэтому браузер так себя ведет. остается определить - почему так
При этом надо полагать что статику может отдавать например nginx, и тогда .htaccess не поможет никак
А так и есть:
Server: nginx
Да, там nginx, поэтому грибы шиитаке .htaccess тут вообще не влияет.
Другими словами - пишем тикет хостеру с просьбой убрать добавление заголовка Content-Disposition: attachment на статические файлы с расширением pdf
Спасибо друзья, буду писать хостеру, по результату отпишусь)
Другими словами - пишем тикет хостеру с просьбой убрать добавление заголовка Content-Disposition: attachment на статические файлы с расширением pdf
Есть ли способ заставить PDF-файлы открываться в браузере, когда опция «Отображать PDF в браузере» не отмечена?
Я пытался использовать тег embed и iframe, но это работает только тогда, когда этот параметр отмечен.
Что я могу сделать?
Чтобы файл загружался , а не просматривался:
Кавычки вокруг имени файла необходимы, если имя файла содержит специальные символы, filename[1].pdf которые в противном случае могут нарушить способность браузера обрабатывать ответ.
@PapickG.Taboada, но тогда система пользователя может не знать тип файла. Например, некоторые пользователи могли выбрать «Всегда открывать файлы этого типа» для файлов PDF. Возможно, если вы хотите переопределить предпочтения пользователя, лучше использовать поток октетов, но указание правильного типа и предлагаемого имени файла является «правильным» способом обеспечить загрузку.
привет @ColinM Я немного запутался здесь . у нас проблемы с рендерингом pdf, он просто дает зашифрованный текст. где мы устанавливаем Content-Type: application/pdf Content-Disposition: inline; "имя файла.pdf"? потому что мы загружаем его с помощью кода angular-js. Итак, мой вопрос: следует ли устанавливать тип контента перед загрузкой? Кроме того, мы получаем только ссылку от бэкэнд-команды, URL-адрес, указывающий путь к файлу, который мы открываем в новой вкладке, используя:window.open(url, '_blank').focus();
@ColinM Спасибо, приятель, ты правильно сказал, проблема, когда мы отлаживали, заключалась в том, что тип MIME был установлен при загрузке файлов. Этим должна заниматься бэкенд-команда. Я пытался получить коды о том, как добавлять заголовки в java-скрипт, но безуспешно. Спасибо, так как я получил от вас настоящую идею . :)
Правильный тип — application/pdf для PDF, а не для application/force-download . Это похоже на взлом некоторых устаревших браузеров. Всегда используйте правильный MIME-тип, если можете.
Если у вас есть контроль над кодом сервера:
- Принудительная загрузка/подсказка: использовать header("Content-Disposition", "attachment; filename=myfilename.myextension");
- Браузер пытается открыть его: используйте header("Content-Disposition", "inline; filename=myfilename.myextension");
Нет контроля над кодом сервера:
- Используйте атрибут загрузки HTML5 . Он использует пользовательское имя файла, указанное на стороне просмотра.
ПРИМЕЧАНИЕ. Я предпочитаю задавать имя файла на стороне сервера, так как у вас может быть больше информации и вы можете использовать общий код.
Если вы используете HTML5 (а я полагаю, что в настоящее время все его используют), есть атрибут с именем download .
Это filename необязательный параметр, но если он указан, он будет использовать это имя для загруженного файла.
Если у вас есть контроль над кодом сервера, вы должны использовать «вложение», так как это позволит использовать тот же код генерации имени файла. Если у вас нет контроля над сервером, это хорошее решение.
Важно отметить, что это не работает между доменами (например, мешает политика одного и того же происхождения). При загрузке из одного домена атрибут загрузки не будет работать, если контент хранится в другом домене. CORS может пропускать этот контент (не проверял).
Да прикинул! :\ Я неправильно понял вопрос и ответил. Но многие люди приземляются здесь, находя только противоположное, поэтому ответ не отредактирован/удален.
The Culprit was firefox, well in a way it was me. Nervous Laughter
По умолчанию , когда вы открываете pdf-файл в Firefox, он предоставляет вам всплывающее окно, чтобы либо сохранить pdf-файл, либо открыть его напрямую , а также есть флажок, который говорит , что с этого момента делать это действие автоматически и угадать, кто выбрал Это.
Из-за этой ошибки мой pdf загружался, а не просматривался , даже если в ответе были все необходимые заголовки . Это простая ошибка , но она стоила мне большого количества времени.
Чтобы решить эту проблему, просто зайдите в настройки, найдите приложения и измените настройку PDF на то, что вам нужно.
Читайте также: