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

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

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

-----------
Apex 3.1
...
Рейтинг: 0 / 0
21.07.2008, 16:35
    #35442886
Baykin Ilya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
Взято из простых приложений с сервера апеха (для зарегистрированных пользователей).
Код: 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
22.07.2008, 09:47
    #35443768
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
К сожалению не помогло :(

Код: 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
22.07.2008, 10:28
    #35443903
Maxim Demenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
В аттрибуте "src" указана функция, принимающая численное значение и возвращающая blob. В принципе это может быть любая функция, возвращающая blob, в данном примере она принимает ключ из таблицы demo_images и возвращает(совершенно другое) поле типа blob. Подсовывать такой функции аргумент типа blob - мягко говоря некрасиво.

Best regards

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

Имеем таблицу
NEWS:
RN number (PK)
Name varchar2
FILE_BLOB blob
...
Рейтинг: 0 / 0
22.07.2008, 12:36
    #35444355
Nickname
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
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
22.07.2008, 12:55
    #35444434
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
Спасибо!!!
...
Рейтинг: 0 / 0
05.09.2008, 12:47
    #35524441
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
Вот только получилось добраться до картинок и ... упс.
Делал и то что выше и то что по ссылке
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
05.09.2008, 19:20
    #35525510
moshkin_p
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
1. что отвечает броузер при обращении по URL который Вы в src подставляете ?
2. лучше чтобы mime-type картинки был 'image/gif' или 'image/jpeg' (в зависимости от содержимого) другие image типы могут просто не выводиться броузером...
...
Рейтинг: 0 / 0
06.09.2008, 13:12
    #35525891
yvoinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
Мужики, а в чем, собственно, проблема, я не пойму?

В генах?

Лезем в настройки приложения. 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
08.09.2008, 13:01
    #35527591
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
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
09.09.2008, 15:19
    #35529990
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
А картинки все нет :( (up)
...
Рейтинг: 0 / 0
10.09.2008, 11:59
    #35531557
moshkin_p
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
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
10.09.2008, 15:09
    #35532107
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
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
10.09.2008, 16:48
    #35532466
moshkin_p
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
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
11.09.2008, 09:20
    #35533272
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
Код: 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
11.09.2008, 09:35
    #35533292
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
Все разобрались

Достаточно было
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
06.10.2008, 17:44
    #35578796
l_kator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
Прочитав все, что нашла про картинки и их отображение, пришла к выводу, что надо ПИСАТЬ СВОЮ процедуру, даже чтобы просто их отоброзить в табличке. Это так или я сильно ошибаюсь?
Я не могу создавать объекты в БД. И прав на это тоже не могу попросить :(
...
Рейтинг: 0 / 0
22.10.2008, 14:04
    #35609271
lshch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
А почему не хотите воспользоваться загрузкой картинок в 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
24.03.2009, 14:03
    #35888207
Shut_down
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
Доброго времени суток l_kator,

Если ВАС устроит стандартная таблица для хранения файлов, то все достаточно просто и хорошо описано в документации к АПЕКС'у
...
Рейтинг: 0 / 0
24.03.2009, 14:04
    #35888212
Shut_down
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APEX: какой нибудь image кроме logo
вот ссылка на "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
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX: какой нибудь image кроме logo / 22 сообщений из 22, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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