powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX: какой нибудь image кроме logo
22 сообщений из 22, страница 1 из 1
APEX: какой нибудь image кроме logo
    #35442771
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Кроме логотипа не могу запихать на страницу ни одного image-а, как статичного, так и из базы (отображает [datatype])

Подскажите каким образом можно это реализовать.

-----------
Apex 3.1
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35442886
Baykin Ilya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Взято из простых приложений с сервера апеха (для зарегистрированных пользователей).
Код: plaintext
1.
2.
3.
4.
select p.product_id edit_product, p.product_id view_product_id,
 p.product_name, p.product_description, p.category, p.product_avail, p.list_price, 
'<img src="p?n=' || nvl(i.file_object_id, 0 ) || '" height="50" width="50" />' img
from demo_product_info p, demo_images i
where p.image_id = i.image_id (+)
Помогло?
А с обычными картинками какие проблемы? Просто нужно их положить в папку откуда апех берет себе картинки и прописать к ним путь нормально.
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35443768
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению не помогло :(

Код: plaintext
1.
2.
3.
4.
5.
select 
i.RN,
i.TITLE_NEWS,
i.NEWS,
'<img src="p?n=' || nvl(i.FILE_BLOB, 0 ) || '" height="50" width="50" />'
from   "NEWS" i

ORA-00932: inconsistent datatypes: expected BLOB got NUMBER,

А с обычными картинками все ок, помогло прочтение http://htmlbook.ru/html/img.html.
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35443903
Maxim Demenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В аттрибуте "src" указана функция, принимающая численное значение и возвращающая blob. В принципе это может быть любая функция, возвращающая blob, в данном примере она принимает ключ из таблицы demo_images и возвращает(совершенно другое) поле типа blob. Подсовывать такой функции аргумент типа blob - мягко говоря некрасиво.

Best regards

Maxim
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35444081
Неверно использована функция nvl(i.FILE_BLOB,0)
Нужны выражения одного типа. В данном случае BLOB.
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35444235
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим извините за тупость, но не напишите как должно быть

Имеем таблицу
NEWS:
RN number (PK)
Name varchar2
FILE_BLOB blob
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35444355
Nickname
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Создаете процедуру
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
CREATE OR REPLACE 
PROCEDURE xx_display_image
 (p_id NUMBER, p_mode VARCHAR2 DEFAULT 'DISPLAY') AS
   v_mime_type  VARCHAR2( 50 );
   v_bytes      NUMBER;
   v_doc_name   VARCHAR2( 500 );
   lob_image    BLOB;
BEGIN

/*
-- uncomment this block and change XXXX  to you app ID to 
--  keep users from running procedure
--  from outside your application

  APEX_APPLICATION.G_FLOW_ID := XXXX;

  IF NOT wwv_flow_custom_auth_std.is_session_valid THEN
   htp.p('Error Code: '||APEX_APPLICATION.G_FLOW_ID);
   RETURN;
  END IF;
*/

  SELECT FILENAME, doc_size, blob_content
    INTO v_doc_name, v_bytes, lob_image
    FROM xxota_images  -- выборка из вашей таблицы
   WHERE id = p_id;

   owa_util.mime_header('application/octet', FALSE);

   htp.p('Content-length:' || v_bytes);

   htp.p('Expires : ' || To_Char(SYSDATE +  1 / 24 , 'FMDy, DD Month YYYY HH24:MI:SS') || ' GMT');

   IF (p_mode = 'DOWNLOAD') THEN
      htp.p('Content-Disposition: attachment; filename="' || v_doc_name  || '"');
   END IF;

   owa_util.http_header_close;

   wpg_docload.download_file(lob_image);

 END xx_display_image;
/

-- Grants for Procedure
GRANT EXECUTE ON xx_display_image TO public
/

2. Создаете регион с селектом
Код: plaintext
1.
2.
3.
4.
5.
select 
i.RN,
i.TITLE_NEWS,
i.NEWS,
'<img src="#OWNER#.XX_DISPLAY_IMAGE?p_id=' || id || '" height="50" width="50" />'
from   "NEWS" i

3. Читаем документацию...
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35444434
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!!!
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35524441
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот только получилось добраться до картинок и ... упс.
Делал и то что выше и то что по ссылке
http://htmldb.oracle.com/pls/otn/f?p=31517:64:3027547557825653:::RP,::


Вроде все правильно сделал:

1.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
create or replace procedure P_IMG_S(
nRN    in  number
) is
   l_mime        VARCHAR2 ( 255 );
   l_length      NUMBER;
   l_file_name   VARCHAR2 ( 2000 );
   lob_loc       BLOB;
BEGIN
   SELECT t.jpg_mimetype, t.jpg_blob, t.jpg_filename, DBMS_LOB.getlength (t.jpg_blob)
     INTO l_mime, lob_loc, l_file_name, l_length
     FROM news t
    WHERE t.rn = nRN;

   OWA_UTIL.mime_header (NVL (l_mime, 'application/octet'), FALSE);
   HTP.p ('Content-length: ' || l_length);
   OWA_UTIL.http_header_close;
   WPG_DOCLOAD.download_file (lob_loc);


end P_IMG_S;

2.
Код: plaintext
1.
GRANT EXECUTE ON P_IMG_S TO PUBLIC;
CREATE PUBLIC SYNONYM P_IMG_S FOR pa.P_IMG_S;


3. Region (HTML)
Код: plaintext
<img src="#OWNER#.p_img_s?nrn=1" />

Картинки НЕТ, в чем может быть проблема?
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35525510
moshkin_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. что отвечает броузер при обращении по URL который Вы в src подставляете ?
2. лучше чтобы mime-type картинки был 'image/gif' или 'image/jpeg' (в зависимости от содержимого) другие image типы могут просто не выводиться броузером...
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35525891
yvoinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мужики, а в чем, собственно, проблема, я не пойму?

В генах?

Лезем в настройки приложения. Application definition.

Тупо скроллим вниз до Logo. Смотрим.

Либо кидаем в апачевские images свою корявую картинку и пишем в двух строчках раздела Logo:

#IMAGE_PREFIX#my_logo.gif

alt="My Logo"

либо, если хотим, переключаем лого в текстовый режим радиобатоном выше и пишем такой текст:

<a href="f?p=&APP_ID.:PAGE_ALIAS:&SESSION."><img src=#IMAGE_PREFIX#my_logo.png alt="&SITE_NAME." border="0"></img></a>

В последнем случае получаем clickable logo. И это взято из готового приложения

Приколетесь - это известно с 2004 года. Для тех, кто приучен мануалы трахнутые читать.
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35527591
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
moshkin_p1. что отвечает броузер при обращении по URL который Вы в src подставляете ?
2. лучше чтобы mime-type картинки был 'image/gif' или 'image/jpeg' (в зависимости от содержимого) другие image типы могут просто не выводиться броузером...

1. Возвращает: http://192.168.0.83/w/p_img_s?nrn=1 (Размер изображениея 24px × 24px)
(w - эксперементировал с dads.conf, т.е. заменил <Location /pls/apex> на <Location /w>)

2. на данный момент в строке id=1, mime-type='image/gif'
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35529990
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А картинки все нет :( (up)
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35531557
moshkin_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Как я понял вы в адресной строке браузера (похоже IE) пишете http://192.168.0.83/w/p_img_s?nrn=1
и полусаете пустой квадрат в котором написано "Размер изображениея 24px × 24px" - так ???
приэтом p_img_s - процедура описаная вами в 9-ом посте ?? (исправления по поводу MIME внесены ??)

2. попробуйте создать простенькую табличку с blob полем и создайте в ней _одну_ запись в blob поле поместите тело картинки желатьелно небоьшой gif (до 512 байт).
создайте простенькую процедуру возвращающую этот блоб обернутый HTTP заголовками (вроде p_img_s)
обратитесь к ней браузером http://192.168.0.83/w/{имя процедуры} - посмотрите результат
результат : это код ответа WEB сервера и собственно сами данные (тело картинки)
если в броузере результат непонатен пробуйте через telnet
Код: plaintext
1.
2.
3.
4.
5.
> TELNET 192.168.0.83 80
GET http://192.168.0.83/w/{имя процедуры} HTTP/1.1
Authorization: Basic {закодированный base64 методом стринг ИМЯ:ПАРОЛЬ - пример dXNlcjpwYXNzd29yZA==}

и смотрите результат ...
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35532107
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
moshkin_p1. Как я понял вы в адресной строке браузера (похоже IE) пишете http://192.168.0.83/w/p_img_s?nrn=1
и полусаете пустой квадрат в котором написано "Размер изображениея 24px × 24px" - так ???
приэтом p_img_s - процедура описаная вами в 9-ом посте ?? (исправления по поводу MIME внесены ??)

http://192.168.0.83/w/p_img_s?nrn=1 - это я брал из свойств на месте где должна быть картинка
Но когда просто в строке браузера (Firefox) пишу http://192.168.0.83/w/p_img_s?nrn=1,
то вот такая вот ерунда
Код: plaintext
1.
 403  Forbidden
You don't have permission to access /w/p_img_s on this server.

И тогда вопрос, почему нет прав, ведь grant выполнил?
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35532466
moshkin_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DIGITALPRO... вот такая вот ерунда
Код: plaintext
1.
 403  Forbidden
You don't have permission to access /w/p_img_s on this server.
это не ерунда а статус ответа web сервера по RFC 2616
p_img_s - в какой схеме создан ?
DIGITALPROИ тогда вопрос, почему нет прав, ведь grant выполнил?В свойствах DAD есть параметр PlsqlRequestValidationFunction (request-validation-function дял Embedded PL/SQL Gateway)
его значение по умолчанию wwv_flow_epg_include_modules.authorize - если пакет не правил, то скорее всего тут ...
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35533272
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
p_img_s - в какой схеме создан ?
Не совсем понял вопроса, но схема называется "PRO"

Код: plaintext
В свойствах DAD...
Alias /i/ "D:\oracle\product\10.2.0\db\Apache\images/"
AddType text/xml xbl
AddType text/x-component htc

#<Location /pls/apex>

<Location /w>
Order deny,allow
PlsqlDocumentPath docs
AllowOverride None
PlsqlDocumentProcedure wwv_flow_file_mgr.process_downloadd
PlsqlDatabaseConnectString 192.168.0.83:1521:TDB
# ServiceNameFormat
PlsqlNLSLanguage RUSSIAN_CIS.CL8MSWIN1251
PlsqlAuthenticationMode Basic
SetHandler pls_handler
PlsqlDocumentTablename wwv_flow_file_objects$
PlsqlDatabaseUsername APEX_PUBLIC_USER
PlsqlDefaultPage apex
PlsqlDatabasePassword APEX_PUBLIC_USER
PlsqlRequestValidationFunction wwv_flow_epg_include_modules.authorize
Allow from all
</Location>

это весь мой DADS.

Уже пробую
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
create or replace procedure P_X(
sVar in varchar2
) is
begin
  htp.p('hello world'||nvl(sVar, '1111111'));
end P_X;

grant execute on P_X to public;

Строка в браузере
http://192.168.0.83/w/pro.p_x?svar=1 и так пробовал http://192.168.0.83/w/p_x?svar=1

Результат всегда один
Код: plaintext
1.
2.
3.
Forbidden
You don't have permission to access /w/pro.p_x on this server.

Oracle-Application-Server-10g/ 10 . 1 . 2 . 0 . 0  Oracle-HTTP-Server Server at хххх.хххх.ххх.ru Port  80 

Есть еще предложения?
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35533292
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все разобрались

Достаточно было
1. дать garnt

2. в функции flows_030100.wwv_flow_epg_include_mod_local ...

- начальный вариант
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
create or replace function flows_030100.wwv_flow_epg_include_mod_local(
    procedure_name in varchar2)
return boolean
is
begin
    return false; -- remove this statement when you modify this function
    --
    -- Administrator note: the procedure_name input parameter may be in the format:
    --
    --    procedure
    --    schema.procedure
    --    package.procedure
    --    schema.package.procedure
    --
    -- If the expected input parameter is a procedure name only, the IN list code shown below
    -- can be modified to itemize the expected procedure names. Otherwise you must parse the
    -- procedure_name parameter and replace the simple code below with code that will evaluate
    -- all of the cases listed above.
    --
    if upper(procedure_name) in (
          '') then
        return TRUE;
    else
        return FALSE;
    end if;
end wwv_flow_epg_include_mod_local;

- конечный
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
create or replace function flows_030100.wwv_flow_epg_include_mod_local(
    procedure_name in varchar2)
return boolean
is
begin
    --return false; -- remove this statement when you modify this function
    --
    -- Administrator note: the procedure_name input parameter may be in the format:
    --
    --    procedure
    --    schema.procedure
    --    package.procedure
    --    schema.package.procedure
    --
    -- If the expected input parameter is a procedure name only, the IN list code shown below
    -- can be modified to itemize the expected procedure names. Otherwise you must parse the
    -- procedure_name parameter and replace the simple code below with code that will evaluate
    -- all of the cases listed above.
    --
    if upper(procedure_name) in (
          'PRO.P_IMG_S',
          'PRO.P_X',
          ) then
        return TRUE;
    else
        return FALSE;
    end if;
end wwv_flow_epg_include_mod_local;

и все заработало!!!
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35578796
Фотография l_kator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитав все, что нашла про картинки и их отображение, пришла к выводу, что надо ПИСАТЬ СВОЮ процедуру, даже чтобы просто их отоброзить в табличке. Это так или я сильно ошибаюсь?
Я не могу создавать объекты в БД. И прав на это тоже не могу попросить :(
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35609271
lshch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А почему не хотите воспользоваться загрузкой картинок в Shared Components - Files - Images или
Static Files(для javascript). А потом воспользоваться переменной WORKSPACE_IMAGES или АРP_IMAGES.
Например <img src="#WORKSPACE_IMAGES#l_daisy.gif" />
или <script src="#WORKSPACE_IMAGES#test1.js" type="text/javascript"></script>
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35888207
Shut_down
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток l_kator,

Если ВАС устроит стандартная таблица для хранения файлов, то все достаточно просто и хорошо описано в документации к АПЕКС'у
...
Рейтинг: 0 / 0
APEX: какой нибудь image кроме logo
    #35888212
Shut_down
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот ссылка на "How to Upload and Download Files in an Application"

http://download.oracle.com/docs/cd/B31036_01/doc/appdev.22/b28839/up_dn_files.htm#CJAHDJDA
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX: какой нибудь image кроме logo
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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