{"id":8496,"date":"2021-06-10T08:00:31","date_gmt":"2021-06-10T06:00:31","guid":{"rendered":"http:\/\/192.168.20.3\/?p=8496"},"modified":"2024-12-11T10:14:53","modified_gmt":"2024-12-11T09:14:53","slug":"redefinicion-funciones-odata-tratamiento-ficheros-2","status":"publish","type":"post","link":"https:\/\/orekait.com\/es\/redefinicion-funciones-odata-tratamiento-ficheros-2\/","title":{"rendered":"Redefinici\u00f3n de funciones oData<br><span class=\"font-300\">Tratamiento de ficheros II<\/span>"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_row admin_label=&#8221;Imagen principal&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/Tratamiento-ficheros-odata-2.png&#8221; alt=&#8221;cloud-public&#8221; title_text=&#8221;Tratamiento-ficheros-odata-2&#8243; admin_label=&#8221;Imagen principal&#8221; module_class=&#8221;post-img&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Cuerpo&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text admin_label=&#8221;Texto&#8221; _builder_version=&#8221;4.25.2&#8243; header_2_font_size=&#8221;24px&#8221; header_3_font_size=&#8221;20px&#8221; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; content__hover_enabled=&#8221;off|hover&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p>En el<strong>\u00a0<a href=\"https:\/\/orekait.com\/blog\/redefinicion-de-funciones-odata-tratamiento-de-ficheros-i\/\" target=\"_blank\" rel=\"noreferrer noopener\">art\u00edculo anterior<\/a><\/strong>\u00a0redefinimos varias\u00a0<strong>funciones de un servicio oData para poder gestionar ficheros<\/strong>. A continuaci\u00f3n, veremos\u00a0<strong>dos ejemplos pr\u00e1cticos para comprender mejor los conceptos<\/strong>.<\/p>\n<h2>Gesti\u00f3n de ficheros en Cliente SAP Gateway<\/h2>\n<p>Para comenzar, subiremos desde el\u00a0<strong>Cliente SAP Gateway<\/strong>\u00a0una imagen al set de entidad FicheroSet que creamos anteriormente. Para ello, es importante recordar pulsar en\u00a0<strong>POST<\/strong>, pues queremos enviar informaci\u00f3n al oData.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8505 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image001-2.png\" alt=\"\" width=\"485\" height=\"315\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image001-2.png 485w, https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image001-2-480x312.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 485px, 100vw\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Si probamos a subir un fichero pulsando en<strong>\u00a0\u201cAdd File\u201d<\/strong>, comprobaremos que se guarda sin nombre ni extensi\u00f3n. Su contenido s\u00ed se almacena correctamente, pero no resulta \u00f3ptimo puesto que, si lo queremos descargar, al no tener extensi\u00f3n no podremos abrirlo directamente.<\/p>\n<p>Por ello,\u00a0<strong>es importante, antes de subir un fichero, a\u00f1adir el par\u00e1metro SLUG y darle el nombre, con extensi\u00f3n incluida<\/strong>, del archivo.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8509 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image002.png\" alt=\"\" width=\"475\" height=\"245\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image002.png 475w, https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image002-300x155.png 300w\" sizes=\"auto, (max-width: 475px) 100vw, 475px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Al a\u00f1adir la imagen vemos que tambi\u00e9n nos genera autom\u00e1ticamente un valor para<strong>\u00a0X-CSRF-Token<\/strong>. Este es un token v\u00e1lido solo para la sesi\u00f3n actual y, gracias a \u00e9l, se evita que se puedan realizar peticiones no autorizadas, aumentando as\u00ed la seguridad.<\/p>\n<p>Una vez ejecutada la subida del archivo, si volvemos a pulsar en<strong>\u00a0\u201cGET\u201d<\/strong>\u00a0para obtener los datos de\u00a0<strong>FicheroSet<\/strong>, comprobamos que se ha guardado correctamente.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8513 \" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image003-1.png\" alt=\"\" width=\"783\" height=\"387\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image003-1.png 783w, https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image003-1-480x237.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 783px, 100vw\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<p>La extensi\u00f3n se guardar\u00e1 en el\u00a0<strong>Mimetype<\/strong>, en este caso como<strong>\u00a0image\/png,<\/strong>\u00a0gracias a lo cual esta vez al descargar el archivo s\u00ed se abrir\u00e1 correctamente como una imagen PNG. Para realizar la prueba podemos acceder desde el navegador a nuestro servicio oData incluyendo lo siguiente:<\/p>\n<p><strong>FicheroSet(\u2018000001\u2019)\/$value<\/strong><\/p>\n<p>Esto nos permitir\u00e1 obtener el primer fichero (con clave primaria 000001) y comprobar que se abre sin problemas.<\/p>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8517 \" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image004.png\" alt=\"\" width=\"756\" height=\"371\" \/><\/figure>\n<h1>\u00a0<\/h1>\n<h2>Gesti\u00f3n de ficheros en aplicaci\u00f3n SAPUI5<\/h2>\n<p>Tras las pruebas realizadas en el\u00a0<strong>Cliente SAP Gateway,\u00a0<\/strong>se realiza de ejemplo una sencilla aplicaci\u00f3n Fiori que permite la subida de archivos. Para ello, se crea una vista que contenga el control\u00a0<strong>FileUploader<\/strong>, adem\u00e1s de una lista que muestre los datos de<strong>\u00a0FicheroSet.<\/strong><\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8521 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image005.png\" alt=\"\" width=\"1358\" height=\"392\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image005.png 1358w, https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image005-1280x369.png 1280w, https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image005-980x283.png 980w, https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image005-480x139.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1358px, 100vw\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Gracias a\u00a0<strong>FileUploader<\/strong>, pulsando en el bot\u00f3n\u00a0<strong>\u201cNavegar\u2026\u201d\u00a0<\/strong>es posible encontrar cualquier fichero que deseemos a\u00f1adir. A continuaci\u00f3n, tras pulsar en\u00a0<strong>\u201cSubir fichero\u201d<\/strong>, a la derecha, el archivo que hayamos seleccionado se insertar\u00e1 en la base de datos.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8525 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image006.png\" alt=\"\" width=\"394\" height=\"150\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image006.png 394w, https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image006-300x114.png 300w\" sizes=\"auto, (max-width: 394px) 100vw, 394px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Para hacer esto posible, dicho bot\u00f3n llama a un m\u00e9todo del controlador que obtiene la URL y los par\u00e1metros necesarios:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8529 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image007.png\" alt=\"\" width=\"625\" height=\"507\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image007.png 625w, https:\/\/orekait.com\/wp-content\/uploads\/2021\/06\/image007-480x389.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 625px, 100vw\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<p><strong>Podemos observar que se obtiene el token X-CSRF-Token, mencionado anteriormente, adem\u00e1s del nombre del fichero (Slug), su contenido y su MimeType para conocer la extensi\u00f3n.<\/strong><\/p>\n<p>El tratamiento de ficheros es necesario en muchas\u00a0<strong>aplicaciones Fiori<\/strong>, por lo que esperamos que este art\u00edculo te haya resultado de utilidad para conocer los conceptos principales.<\/p>\n<p>Si tienes cualquier duda puedes dejarnos tus preguntas en los comentarios o ponerte en contacto con nuestra \u00e1rea de\u00a0<strong>User Experience &amp; Integraci\u00f3n<\/strong>.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;M\u00e1s informaci\u00f3n&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p class=\"morado\">M\u00e1s informaci\u00f3n:<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/orekait.com\/es\/area-personalizacion&#8221; button_text=&#8221;M\u00e1s informaci\u00f3n&#8221; module_class=&#8221;entrada-btn&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#8156EA&#8221; button_bg_color=&#8221;RGBA(255,255,255,0)&#8221; button_border_color=&#8221;#8156EA&#8221; button_border_radius=&#8221;30px&#8221; button_font=&#8221;Plus Jakarta Sans|600|||||||&#8221; button_icon=&#8221;&#x24;||divi||400&#8243; button_icon_color=&#8221;#8156EA&#8221; button_on_hover=&#8221;off&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; button_text_color__hover_enabled=&#8221;on|desktop&#8221; button_text_color__hover=&#8221;#8156EA&#8221; button_bg_color__hover_enabled=&#8221;on|hover&#8221; button_bg_color__hover=&#8221;#8156EA&#8221; button_bg_enable_color__hover=&#8221;on&#8221; button_icon_color__hover_enabled=&#8221;on|hover&#8221; button_icon_color__hover=&#8221;#ffffff&#8221; url_new_window=&#8221;on&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_button][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||40px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8221;on&#8221; admin_label=&#8221;Noticias relacionadas titulo&#8221; module_id=&#8221;fondo-articulos&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#f7f7f7&#8243; width=&#8221;100%&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;RGBA(255,255,255,0)&#8221; custom_margin=&#8221;||40px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][et_pb_heading title=&#8221;Quizas te pueda interesar&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; title_level=&#8221;h2&#8243; title_text_align=&#8221;center&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_heading][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||30px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Noticias relacionadas&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; custom_margin=&#8221;-150px||||false|false&#8221; custom_margin_tablet=&#8221;0px||||false|false&#8221; custom_margin_phone=&#8221;0px||||false|false&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_blog fullwidth=&#8221;off&#8221; posts_number=&#8221;3&#8243; include_categories=&#8221;current&#8221; show_author=&#8221;off&#8221; show_date=&#8221;off&#8221; show_pagination=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_blog][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el\u00a0art\u00edculo anterior\u00a0redefinimos varias\u00a0funciones de un servicio oData para poder gestionar ficheros. A continuaci\u00f3n, veremos\u00a0dos ejemplos pr\u00e1cticos para comprender mejor los conceptos. Gesti\u00f3n de ficheros en Cliente SAP Gateway Para comenzar, subiremos desde el\u00a0Cliente SAP Gateway\u00a0una imagen al set de entidad FicheroSet que creamos anteriormente. Para ello, es importante recordar pulsar en\u00a0POST, pues queremos enviar [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":8498,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"Lorem ipsum dolor sit amet consectetur adipiscing elit congue montes, imperdiet taciti erat elementum fermentum sem ante ultrices ridiculus, sagittis sociis egestas quisque ac semper quis odio. Aenean hendrerit ac metus dis nascetur aliquet mollis integer, rutrum vel laoreet posuere proin sagittis luctus est, tempus duis nisl ultrices parturient tempor praesent. Dignissim curabitur nascetur pellentesque augue fringilla pulvinar eros, tempus fames vehicula maecenas cubilia id, rutrum euismod integer ut scelerisque mus.\r\n\r\nVivamus auctor odio aenean rhoncus natoque dictum purus, volutpat pellentesque laoreet ridiculus consequat nisi varius euismod, augue platea convallis curae magnis taciti. Imperdiet nibh curabitur quisque orci consequat aenean pellentesque, cubilia duis senectus felis sed posuere tortor, magnis enim diam a odio sociis. Enim tellus nisl nec molestie augue luctus tempor habitant, nunc dictumst phasellus volutpat sem facilisis taciti, habitasse laoreet at turpis vel fermentum vulputate.","_et_gb_content_width":"","footnotes":""},"categories":[51,53],"tags":[],"class_list":["post-8496","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-user-experience-integracion","category-sap-fiori-ux"],"_links":{"self":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/8496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/comments?post=8496"}],"version-history":[{"count":9,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/8496\/revisions"}],"predecessor-version":[{"id":21524,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/8496\/revisions\/21524"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media\/8498"}],"wp:attachment":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media?parent=8496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/categories?post=8496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/tags?post=8496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}