Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Как сделать предпросмотр прикрепленных файлов IPB 3.2.3

Опубликовано:

Хочу чтобы был предпросмотр прикрепленных PDF Doc xls ppt и прочих файлов через google docs.

нашел что для этого можно использовать один из следующих способов:

 

1. C использованием элемента <embed>.

 

<embed src="ссылка файла pdf" width="ширина в пикселях" height="высота в пикселях" />

 

2. C использованием <embed> через элемент <object>.

 

Спецификация HTML 4.0 рекомендует использовать тег <object> для загрузки внешних данных вместо тега <embed>, поэтому наилучшим вариантом будет поместить <embed> внутрь контейнера <object>.

 

<object><embed src="ссылка файла pdf" width="700" height="500" /></object>

 

3. С использованием тега <iframe>.

 

<iframe src="ссылка файла pdf" width="700" height="400"></iframe>

 

4. С использованием сервиса Google Docs Viewer (через iframe). (МОЙ ВАРИАНТ) !!!

 

<iframe src="http://docs.google.com/viewer?url="ссылка файла pdf"&embedded=true" width="700" height="500" style="border: none;"></iframe>

 

 

Куда вставить эти конструкции в шаблоне сообщения я нашел.

 

Внимание ! ВОПРОС:

 

Как в IPB 3.2.3 получить прямую ссылку на прикрепленный к сообщению файл? ЧТобы его съел гугл докс?

Ссылка вида:

 

http://site.ru/index.php?app=core&module=attach&section=attach&attach_id=2175

не проходит.

 

может это переменная какая или еще какой то способ.

Рекомендованные сообщения

Опубликовано:

Файлы на форуме отдаются динамически через php, что позволяет контролировать доступ к ним масками доступа разным группам. Прямой ссылкой этот функционал ломается, потому что пользователь получает прямой доступ к файлу.

 

Show_attachments -> $data['attach_file']

Как сделать чтоб при прикреплении видео к посту отображалась прямая ссылка на него?

Опубликовано:
  • Автор

Файлы на форуме отдаются динамически через php, что позволяет контролировать доступ к ним масками доступа разным группам. Прямой ссылкой этот функционал ломается, потому что пользователь получает прямой доступ к файлу.

 

Show_attachments -> $data['attach_file']

Как сделать чтоб при прикреплении видео к посту отображалась прямая ссылка на него?

 

Можно чуть поподробнее.

для чего это сделано это понятно.

но нужно как то прямую ссылку получить это очень важно.

 

$data['attach_file'] выводит название файла, а как получить прямую ссылку?

Опубликовано:
но нужно как то прямую ссылку получить это очень важно.
Добавьте необходимые данные.

admin/applications/core/sources/classes/attach/class_attach.php

Ищите по

getTemplate( $skin_name )->Show_attachments(

и в массив добавляйте

'attach_ext'    => $row['attach_ext'],
'a_location'    => $row['attach_location'],

Дальше в шаблоне Show_attachments используйте

<if test="$data['attach_ext'] == 'pdf'">
   <iframe src="http://docs.google.com/viewer?url={$this->settings['upload_url']}/{$data['a_location']}&embedded=true" width="700" height="500" style="border: none;"></iframe>
</if>

Опубликовано:
  • Автор

Большое спасибо за вашу помощь и участие.

Но с данным кодом тоже беда.

Вашим способом гуглу отдается файл вида:

/uploads/monthly_02_2014/post-21515-0-13682300-1392632099.ipb

а такое расширение он идентифицировать и прочитать не может

Опубликовано:
а такое расширение он идентифицировать и прочитать не может
Странно. Я протестировал работу. Если перейти по данной ссылке в браузере, что наблюдается?
Опубликовано:

Вашим способом гуглу отдается файл вида:

Этим способом должен отдаваться полный адреса файла вместе с upload_url. Единственное что стоило бы сделать это урленкодить адрес через {parse expression="urlencode($this->settings['upload_url'].'/'.$data['a_location'])"}

Если адрес в порядке, тогда смотрите документацию гугла по подключению адреса. Расширение аттачей в целях безопасности меняется на .ipb.

Опубликовано:
  • Автор

Странно. Я протестировал работу. Если перейти по данной ссылке в браузере, что наблюдается?

Ссылка которая отдается таким способом имеет вид:

http://site.ru/uploads/monthly_02_2014/post-21515-0-28698400-1391352095.ipb

 

при переходе по ней браузер открывает окно с сохранением файла post-21515-0-28698400-1391352095 с расширением ipb (вместо необходимого pdf, doc, ppt).

 

файл действительно тот что нужно и если у него сменить расширение, он откроется в нужном виде.

 

Вопрос в том как его отправить гуглу с нужным расширением.

Опубликовано:

Вопрос в том как его отправить гуглу с нужным расширением.

В принципе никак. Аттачи в ипб отдаются динамически где в скриптах отправляются все необходимые заголовки - content-type, оригинальное название файла. Либо отдавать гуглу динамическую ссылку (динамические адреса обязательно нужно енкодить), либо придумывать разные костыли со сменой расширения и тп.

Опубликовано:
  • Автор

В принципе никак. Аттачи в ипб отдаются динамически где в скриптах отправляются все необходимые заголовки - content-type, оригинальное название файла. Либо отдавать гуглу динамическую ссылку (динамические адреса обязательно нужно енкодить), либо придумывать разные костыли со сменой расширения и тп.

 

 

Печаль. неужели нет решения данной проблемы.

Опубликовано:
  • Автор

Может тогда кто то встречал другое решение как сделать предпросмотр прикрепленных файлов. без участия гугла.

может это плеер какой то или плагин.

  • 3 недели спустя...
Опубликовано:
  • Автор

Проблема все еще актуальна.

Опубликовано:

Проблема все еще актуальна.

Пишите в гугл на поддержку динамических адресов. Или адресов без расширения.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.