Текущее время: Чт, июн 19 2025, 12:19

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: abap web dynpro: отобразить jpeg в image
СообщениеДобавлено: Пн, янв 18 2010, 18:29 
Специалист
Специалист

Зарегистрирован:
Пн, янв 14 2008, 10:33
Сообщения: 163
Коллеги, подскажите кто знает.

В abap web dynpro экране нужно показать картинку jpeg которую пользователь выбирает.
Для выбора картинки используется компонента FileUpload (data = context.FILE_SOURCE) для отображения Image (source = context.FILE_SOURCE) загружается картинка по кнопке Button (onAction = ON_UPLOAD). Контекстный атрибут FILE_SOURCE тип xstring.
Событие ON_UPLOAD:
Code:
method ONACTIONON_UPLOAD .
data content type xstring.
wd_context->get_attribute( exporting name = 'FILE_SOURCE'  importing value = content ).
endmethod.

Всё вроде просто, отладчик показывает что content что-то содержит, но после события ON_UPLOAD компонент Image отображает картинку как "не найдена" (как браузер с красным крестиком в углу).
Что может быть не так?

заранее спасибо


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: abap web dynpro: отобразить jpeg в image
СообщениеДобавлено: Пн, янв 18 2010, 18:52 
Специалист
Специалист

Зарегистрирован:
Вт, июл 07 2009, 13:24
Сообщения: 235
а Вы прикрепряли кортинку куда нибудь в context?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: abap web dynpro: отобразить jpeg в image  Тема решена
СообщениеДобавлено: Пн, янв 18 2010, 19:05 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
http://help.sap.com/erp2005_ehp_04/helpdata/EN/a3/c0eb41eda96624e10000000a1550b0/content.htm

Цитата:
source

Determines the Web address (URL) of the graphic through which the UI element receives the data. If you use Web Icons, enter the name of the icon.
This property can be personalized by an administrator.


Может то, что вы пытаетесь, просто невозможно сделать?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: abap web dynpro: отобразить jpeg в image
СообщениеДобавлено: Вт, янв 19 2010, 10:43 
Специалист
Специалист

Зарегистрирован:
Пн, янв 14 2008, 10:33
Сообщения: 163
Действительно, Image.Source - это url а не бинарное "вещество" :)

В контекст добавил атрибут URL типа string указал Image.Source = URL и все получилось!
Пример нашел тут http://forums.sdn.sap.com/thread.jspa?threadID=1511848

Code:
method ONACTIONON_UPLOAD .

data content type xstring.

wd_context->get_attribute( exporting name = 'FILE_SOURCE'  importing value = content ).

* -----------------------------------------------------------
* http://forums.sdn.sap.com/thread.jspa?threadID=1511848
* -----------------------------------------------------------

DATA: gx_mimetype TYPE string VALUE 'JPG'.

****Create the cached response object that we will insert our content into

  DATA: cached_response TYPE REF TO if_http_response.
  CREATE OBJECT cached_response
    TYPE
      cl_http_response
    EXPORTING
      add_c_msg        = 1.
  TRY. " ignore, if compression can not be switched on
      CALL METHOD cached_response->set_compression
        EXPORTING
          OPTIONS = cached_response->co_compress_based_on_mime_type
        EXCEPTIONS
          OTHERS  = 1.
    CATCH cx_root.
  ENDTRY.
****set the data and the headers
  DATA: l_app_type TYPE string.
  DATA: l_xstring TYPE xstring,
        i_cache_timeout  TYPE i VALUE '300'.
  cached_response->set_data( content ). "l_image
  l_app_type = gx_mimetype.

  cached_response->set_header_field( name  = if_http_header_fields=>content_type
                                     value = l_app_type ).
****Set the Response Status
  cached_response->set_status( code = 200 reason = 'OK' ).

****Set the Cache Timeout - 60 seconds - we only need this in the cache
****long enough to build the page and allow the Image on the Client to request it.
  cached_response->server_cache_expire_rel( expires_rel = i_cache_timeout ).

  DATA: r_url TYPE string.
  DATA: i_path TYPE string VALUE '/sap/public',
        i_format TYPE string VALUE 'JPG'.
****Create a unique URL for the object
  DATA: guid TYPE guid_32.
  CALL FUNCTION 'GUID_CREATE'
    IMPORTING
      ev_guid_32 = guid.
  CONCATENATE i_path '/' guid '.' i_format INTO r_url.

****Cache the URL
  cl_http_server=>server_cache_upload( url      = r_url
                                       response = cached_response ).

* bind the generated url with the image uielement attribute

  DATA lo_el_context TYPE REF TO if_wd_context_element.
  DATA ls_context TYPE wd_this->element_context.
* get element via lead selection
  lo_el_context = wd_context->get_element(  ).

* set single attribute
  lo_el_context->set_attribute(
    EXPORTING
      name =  `URL`
      value = r_url ).

endmethod.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB