|
|
|
Web.Show_document
|
|||
|---|---|---|---|
|
#18+
Добрый день! Помогите пож-та! В зависимости от пожелания пользователя я достаю с базы данных содержимое clob поля и формирую на сервере соответствующий файл с расширением rtf. Потом, с помощью web.show_document отображаю этот файл(все работает отлично)... Допустим клиент открыл файл,посмотрел его, потом закрыл и желает посмотреть другой файл. Вообщем все так же - достаю содержимое clob поля и заменяю содержимое предыдущего(1-го файла). Когда второй раз делаю web.show_document он показывает 1-й файл, который уже заменен(которого уже нет). Смотрю на сервере - файл сформирован верно(2-й файл). Почему так? где web.show_document берет файл, которого уже нет? КАК ЗАСТАВИТЬ ЕГО РАБОТАТЬ ВЕРНО? Зарание спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2011, 14:17 |
|
||
|
Web.Show_document
|
|||
|---|---|---|---|
|
#18+
__Настя__, Как вариант можно попробовать создать .html или .php файл, который открывает этот документ, в самом файле сделать что-то вроде очистки кэша (<meta HTTP-EQUIV="PRAGMA" content ="no-cache">), в форме через web.show открывать именно этот файлик.. А что мешает формировать отчёт, скажем в формате pdf или если уж на то пошло, формировать уникальное имя файла, боитесь переполнения сервера файлами? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2011, 14:42 |
|
||
|
Web.Show_document
|
|||
|---|---|---|---|
|
#18+
Кэш чистила - не помогает... Уникальное имя создавать, конечно, можно, но вы правы - не хотелось забивать сервер файлами... Так прийдется запоминать имена уже созданых файлов и удалить их после выхода пользователя из программы... А если б перезаписывать то было бы красивее чтоли:) Ладно, все равно спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2011, 14:50 |
|
||
|
Web.Show_document
|
|||
|---|---|---|---|
|
#18+
Дело в том что браузеры и proxy-серверы настроены так, чтобы кэшировать информацию. Поэтому необходимо сообщить им, чтобы этого не происходило. В случае с rtf-файлом это практически не возможно. Дело в том, что помимо собственного кэша браузера, необходимо обновлять кэш proxy-сервера. Поэтому оптимальный выход - каждый раз создавать новое имя файла. А для сервера можно написать программку, которая будет удалять ежедневно вчерашние файлы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2011, 17:57 |
|
||
|
Web.Show_document
|
|||
|---|---|---|---|
|
#18+
__Настя__, а нельзя для ссылки на файл генерить что-то типа http://localhost/test/t.xml?nocache=867867868 где nocache через dbms.random например получать, или timestamp? Апачу "фиолетово" на лишний параметр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2011, 20:47 |
|
||
|
Web.Show_document
|
|||
|---|---|---|---|
|
#18+
__Настя__, авторУникальное имя создавать, конечно, можно, но вы правы - не хотелось забивать сервер файлами... Так прийдется запоминать имена уже созданых файлов и удалить их после выхода пользователя из программы... А если б перезаписывать то было бы красивее чтоли:) Наоборот, при многопользовательской работе задавать одно и то же имя файла генерации некорректно. Для задания имени генерируемого файла встроенной функцией SYS_GUID() или конструкцией report_filename:=SUBSTR(s,1,INSTR(s,'.')-1)||' '||to_char(SYSDATE,'DD.MM.YY-HH.MI.SS')||'.xml'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 10:22 |
|
||
|
Web.Show_document
|
|||
|---|---|---|---|
|
#18+
Albert Indeev...SYS_GUID() или конструкцией report_filename:=SUBSTR(s,1,INSTR(s,'.')-1)||' '||to_char(SYSDATE,'DD.MM.YY-HH.MI.SS')||'.xml'; про не очень хорошую генерячись SYSDATE - на совести разработчика но за '.' в имени файла (как и за русские буквы), я бы убивал. Еще туда ':' поставьте, я один отчет с ':' в имени файла видел, по WEB работало крайне оригинально ))) IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 13:13 |
|
||
|
|

start [/forum/topic.php?fid=51&fpage=22&tid=1878739]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 166ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...