Гость
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Проблема с именами файлов, сформированных при помощи sys.htp / 17 сообщений из 17, страница 1 из 1
01.04.2011, 14:13
    #37194339
ArtMan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
Генерю html документы для сохранения при помощи sys.htp.p. Использую Apex Listener + glasfish 3.0.1. Charset=UTF-8, все красиво, но русские в имени файла не читаемые и в конце документа добавляется мусор из родительской страницы. Делал на Apache, русские буквы в названии корректно отображаются. Как победить?
...
Рейтинг: 0 / 0
01.04.2011, 14:34
    #37194388
ArtMan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
От мусора помогла строчка

my_htp_procedure;
htmldb_application.g_unrecoverable_error := true;
...
Рейтинг: 0 / 0
01.04.2011, 15:13
    #37194482
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
ArtMan,

укажите версию APEX, браузер, из которого запрашиваете файл. RTFBlog Кроссбраузерный "Content-Disposition" "attachment; filename" .
...
Рейтинг: 0 / 0
01.04.2011, 15:14
    #37194486
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
Вдогонку: версия APEX Listener и пример кода тоже не помешают.
...
Рейтинг: 0 / 0
01.04.2011, 17:10
    #37194776
ArtMan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
У меня есть проект, который работает под Apache. Там с именами нет проблем. В вот для Apex Listener + Glassfish есть проблема (исходники те же). У меня была похожая проблема при использовании элементов File Browse, под Apache все было нормально, а на Listenere были проблемы с кодировкой. Решением была настройка в GlassFish. Вот предположил, что еще какая-то настройка нужна для корректного сохранения файлов.
...
Рейтинг: 0 / 0
01.04.2011, 17:29
    #37194814
ArtMan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
Код: plaintext
1.
2.
3.
OWA_UTIL.MIME_HEADER('application/vnd.ms-word',false);
SYS.HTP.P('Content-Desposition: attachment; filename="Документ.doc"');
OWA_UTIL.Http_Header_Close;
SYS.HTP.P('<meta http-equiv="Content-Type" content="text/plain; charset=UTF-8">

писал руками, мог ошибиться
...
Рейтинг: 0 / 0
04.04.2011, 17:03
    #37198565
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
ArtMan,

я постараюсь сегодня вечером развернуть соответствующую площадку из APEX 4.0.2, APEX Listener 1.1 и Glassfish 3.0.1, чтобы воспроизвести.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
16.04.2012, 20:29
    #37756101
deniska80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
Подниму тему. У кого-нибудь получилось под apex listener и weblogic сохранять файлы с русскими названимями?
Стоит и listener и http_server : с одним без проблем работает файл.ext, с другим _____.ext
...
Рейтинг: 0 / 0
17.04.2012, 10:08
    #37756608
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
deniska80,

Гляньте еще эту тему

Русские имена в файлах
...
Рейтинг: 0 / 0
17.04.2012, 12:10
    #37756906
deniska80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
Читал. У меня от браузера не зависит. Точнее я пробовал в фаирфоксе 10 и одном из последних хромов.
...
Рейтинг: 0 / 0
17.04.2012, 12:58
    #37756998
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
deniska80,

Привидите пример кода и версию апекса, с которыми у вас проблемы.
+в какой кодировке выводятся у вас страницы апекса.
...
Рейтинг: 0 / 0
17.04.2012, 15:51
    #37757383
deniska80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
Вырезка кода...Браузер - фаирфокс
Апекс 4.1.
App Primary language (en-us)
Страницы сам формирует в UTF-8
БД:
-NLS_LANGUAGE=AMERICAN
-NLS_CHARACTERSET=cl8mswin1251

Код: sql
1.
2.
3.
4.
5.
6.
  select dbms_lob.getlength(lob_loc) into l_length from dual;   
  htp.p('Content-length: ' || l_length);  
  htp.p('Content-Disposition: attachment; filename="ден.pdf"');
  htp.p('Content-Type: application/'||l_file_ext);
  owa_util.http_header_close; 
  wpg_docload.download_file( Lob_loc ); 
...
Рейтинг: 0 / 0
18.04.2012, 13:50
    #37759025
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
deniska80,

Не сталкивался,

насчет подчеркиваний браузеры (ff,chrome) обычно заменяют невписывающиеся в имя файла коды символов подчеркиваниями или дефисом (другие браузеры ведут себя по-другому).
Это могут быть спецсимволы (?/\...) или результат неверной интерпретации кодировки.

Чтобы понять, что соб-но происходит, можно попробовать посмотреть заголовки ответа и попытаться определить кодировку того что там

В FF firebug (F12) / Сеть / выбрать запрос / заголовки ответа
В Opera DragonFly (ctrl+i) / Сеть / Журнал сети / выбрать запрос / данные ответа

В данном случае FF, поэдие, должен пытаться читать его в UTF-8, но оно, вероятно, является чем-то другим.

Можно еще забить на проблему, и закодировать его в base64 (только я не уверен, что все браузеры его понимают)
...
Рейтинг: 0 / 0
18.04.2012, 16:32
    #37759413
deniska80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
Я уверен, что дело в связке apexlistener + weblogic и чтобы это исправить нужно копать именно там, т.е. где-то на сервере приложений для апекс листенера что-то указать(прописать, добавить класс итп). Поэтому и ищу кто с этим справился или...не справился и забил. Не уверен, что что-то поможет в изучении заголовков...
SvDiv, что вы имеете в виду под "закодировать его в base64"?
...
Рейтинг: 0 / 0
19.04.2012, 15:18
    #37761216
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
deniska80Не уверен, что что-то поможет в изучении заголовков...
Только более глубокое понимание проблемы, не факт, что найдется готовая инструкция с решением

deniska80что вы имеете в виду под "закодировать его в base64"?
я так кодирую для SMTP
Код: sql
1.
2.
  htp.p('Content-Disposition: attachment; filename="' || sys.utl_encode.mimeheader_encode(buf => 'ден.pdf',
                                              encoding => sys.utl_encode.base64) || '"');


где не работает UTL_URL.ESCAPE можно, пример в ссылке выше
...
Рейтинг: 0 / 0
19.04.2012, 15:45
    #37761314
deniska80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
SvDevя так кодирую для SMTP
Код: sql
1.
2.
  htp.p('Content-Disposition: attachment; filename="' || sys.utl_encode.mimeheader_encode(buf => 'ден.pdf',
                                              encoding => sys.utl_encode.base64) || '"');


Спасибо огромное, а вот так работает!. Проверил в хроме, фф и ие.
...
Рейтинг: 0 / 0
19.04.2012, 16:04
    #37761361
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с именами файлов, сформированных при помощи sys.htp
deniska80,

Я в опере смотрел, не работает, зато escape работает :)
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Проблема с именами файлов, сформированных при помощи sys.htp / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]