Compartir a través de


Configurar una columna de imagen en Power Pages

Una columna de imagen almacena un archivo de imagen en una columna en una Microsoft Dataverse tabla. Agregue una columna de imagen a un formulario para cargar, ver, modificar y eliminar imágenes. El formulario muestra una miniatura de la imagen si hay una disponible.

Nota

No puede cargar una imagen de archivo usando el modo insertar en un formulario básico o un paso de formulario de varios pasos.

Image URL

La URL de la imagen indica la URL completa donde se almacena la imagen. Esto se puede utilizar para el desarrollo y la resolución de problemas.

Una URL de imagen toma la siguiente forma:

{0}/Image/download.aspx?entity={1}&attribute={2}&id={3}

donde:

  • {0} es la URL del sitio web

  • {1} es el nombre lógico de la entidad

  • {2} es el nombre lógico de la columna

  • {3} es el Id. de la imagen

Por ejemplo, si su sitio web está ubicado en https://contososite.powerappsportals.com, su código se verá así:

https://contososite.powerappsportals.com/Image/download.aspx?entity=contact&attribute=entityimage&id=cb059a4a-b1a6-ec11-9840-00224829604e

Liquid

Puede diseñar un sitio web utilizando el código Liquid para recuperar los registros de las Dataverse tablas. Utilice fetchXML y la vista de la Entidad para obtener valores de columna de imagen, como este:

    {% for item in tables.results.entities %}
        {{ item.columnname.Type }}
        {{ item.columnname.Size }}
        {{ item.columnname.Url }}
        {{ item.columnname.Value }}
    {% endfor %}

donde:

  • Tipo es el tipo mime de la imagen

  • Tamaño es el tamaño de la imagen en bytes

  • Valor es el valor de la imagen como una cadena base64

  • Url es la URL de la imagen

Ejemplo: recuperar una imagen de contacto predeterminada

    {% fetchxml contacts %}
        <fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
            <entity name="contact">
                <attribute name="fullname"/>
                <attribute name="entityimage"/>
            </entity>
        </fetch>
    {% endfetchxml %}

    {% for item in contacts.results.entities %}
        {
            "Full Name":"{{ item.fullname }}"
            "Entity Image Type":"{{ item.entityimage.Type}}",
            "Entity Image Size":"{{ item.entityimage.Size}}",
            "Entity Image Url":"{{ item.entityimage.Url}}",
            "Entity Image Value":"{{ item.entityimage.Value}}"
        }
    {% endfor %}

API Web

Se puede utilizar la API web de portales para crear, leer, actualizar y eliminar imágenes en columnas de imágenes a través de Dataverse tablas.

Recuperar datos de imagen

Para descargar datos de imágenes en miniatura, use la siguiente llamada de API:

    GET /_api/<entity-type>(id)/<image-attribute-name>/$value

Los datos de imagen transferidos desde extremos de servicio web están limitadas a un máximo de 16 MB de datos en una sola llamada de servicio.

Ejemplo: descargar una miniatura

En el siguiente ejemplo, utilizaremos una llamada GET para descargar una miniatura si existe.

Solicitud HTTP:

    GET [website url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/entityimage/$value
    
    Headers:
    Content-Type: application/octet-stream

Respuesta HTTP:

    204 No Content
    
    Body:
    Byte[ ]

En este ejemplo, la miniatura no existe, por lo que no se devuelve ninguna imagen. Si existiera una miniatura, la respuesta devolvería una matriz de bytes con valores.

Carga de datos de imagen

Para cargar una imagen, establezca el valor de la columna de imagen a una matriz de byte que contenga el contenido del archivo de imagen:

    PUT or PATCH /_api<entity-type>(id)/<image-attribute-name>

Ejemplo: cargar una imagen

Solicitud HTTP:

    PUT [website url]/_api/accounts(62d53214-9dfa-eb11-94ee-0022482230a8)/entityimage

    Headers:
    Content-Type: application/octet-stream
    
    Body :
    Byte [ ]

Cargar imágenes de perfil

Los usuarios autentificados del sitio web pueden subir su foto en la sección de perfil del sitio web. La imagen se guarda en la columna Imagen de la entidad del registro de contacto correspondiente en Dataverse. Los usuarios pueden cargar imágenes de hasta 10 MB.

Crear configuraciones de sitio

Primero, debe crear una configuración de sitio para permitir que los usuarios autenticados carguen una imagen de perfil:

  1. Abra la aplicación Administración del portal

  2. Bajo Sitio web, seleccione Configuración del sitio.

  3. Cree una configuración del sitio Profile/ShowImage y establezca su valor en true. (Si la configuración existe, establezca su valor en true.)

    Captura de pantalla de la configuración del sitio Profile/ShowImage.