Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este ejemplo de .NET 6.0 se muestra cómo realizar operaciones con columnas de imagen mediante la API web de Dataverse.
Ver este ejemplo en Github
Esta muestra utiliza el código auxiliar común de la biblioteca de clases WebAPIService (C#).
Requisitos previos
- Microsoft Visual Studio 2022
- Acceso a Dataverse con privilegios de administrador del sistema o de personalizador del sistema.
Cómo ejecutar el ejemplo
Clonar o descargar el repositorio de ejemplos de PowerApps.
Abra el archivo
PowerApps-Samples\dataverse\webapi\C#-NETx\ImageOperations\ImageOperations.slncon Visual Studio 2022.Editar el archivo para establecer los siguientes valores de propiedad:
Propiedad Instrucciones UrlLa URL de su entorno. Reemplace el valor del marcador de posición con el valor para su entorno. Consulte Ver recursos para desarrolladores para encontrar esto. UserPrincipalNameReemplazar el valor de marcador de posición con el valor de UPN que usa para acceder al entorno. PasswordReemplace el valor del marcador de posición con la contraseña que utiliza. Guarde el archivo
Presione F5 para ejecutar el ejemplo.
Salida de muestra
El resultado del ejemplo deberá ser ahora similar a esto:
Creating image column named 'sample_ImageColumn' on the account table ...
Created image column named 'sample_ImageColumn' in the account table.
Create 5 records while CanStoreFullImage is false.
Created account: 'CanStoreFullImage false 144x144.png'
Created account: 'CanStoreFullImage false 144x400.png'
Created account: 'CanStoreFullImage false 400x144.png'
Created account: 'CanStoreFullImage false 400x500.png'
Created account: 'CanStoreFullImage false 60x80.png'
Set the CanStoreFullImage property to True
Create 5 records while CanStoreFullImage is true.
Created account: 'CanStoreFullImage true 144x144.png'
Created account: 'CanStoreFullImage true 144x400.png'
Created account: 'CanStoreFullImage true 400x144.png'
Created account: 'CanStoreFullImage true 400x500.png'
Created account: 'CanStoreFullImage true 60x80.png'
Retrieving records with thumbnail images:
Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage false 144x144.png_retrieved.png
Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage false 144x400.png_retrieved.png
Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage false 400x144.png_retrieved.png
Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage false 400x500.png_retrieved.png
Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage false 60x80.png_retrieved.png
Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage true 144x144.png_retrieved.png
Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage true 144x400.png_retrieved.png
Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage true 400x144.png_retrieved.png
Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage true 400x500.png_retrieved.png
Thumbnail-sized file column data saved to DownloadedImages\CanStoreFullImage true 60x80.png_retrieved.png
Attempt to download full-size images for all 10 records using 3 different methods:
Download full-sized files with actions: 5 should fail
Download failed: No FileAttachment records found for imagedescriptorId: e40bdcf1-598d-ed11-81ad-000d3a9933c9 for image attribute: sample_imagecolumn of account record with id e30bdcf1-598d-ed11-81ad-000d3a9933c9
Download failed: No FileAttachment records found for imagedescriptorId: 2258d4f7-598d-ed11-81ad-000d3a9933c9 for image attribute: sample_imagecolumn of account record with id 2158d4f7-598d-ed11-81ad-000d3a9933c9
Download failed: No FileAttachment records found for imagedescriptorId: 2658d4f7-598d-ed11-81ad-000d3a9933c9 for image attribute: sample_imagecolumn of account record with id 2558d4f7-598d-ed11-81ad-000d3a9933c9
Download failed: No FileAttachment records found for imagedescriptorId: 2a58d4f7-598d-ed11-81ad-000d3a9933c9 for image attribute: sample_imagecolumn of account record with id 2958d4f7-598d-ed11-81ad-000d3a9933c9
Download failed: No FileAttachment records found for imagedescriptorId: 2e58d4f7-598d-ed11-81ad-000d3a9933c9 for image attribute: sample_imagecolumn of account record with id 2d58d4f7-598d-ed11-81ad-000d3a9933c9
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 144x144.png_downloaded_with_actions.png
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 144x400.png_downloaded_with_actions.png
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 400x144.png_downloaded_with_actions.png
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 400x500.png_downloaded_with_actions.png
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 60x80.png_downloaded_with_actions.png
Download full-sized files with chunks: 5 should fail
No full-sized image data returned because record was created while CanStoreFullImage was false.
No full-sized image data returned because record was created while CanStoreFullImage was false.
No full-sized image data returned because record was created while CanStoreFullImage was false.
No full-sized image data returned because record was created while CanStoreFullImage was false.
No full-sized image data returned because record was created while CanStoreFullImage was false.
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 144x144.png_downloaded_with_chunks_full-sized.png
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 144x400.png_downloaded_with_chunks_full-sized.png
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 400x144.png_downloaded_with_chunks_full-sized.png
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 400x500.png_downloaded_with_chunks_full-sized.png
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 60x80.png_downloaded_with_chunks_full-sized.png
Download full-sized files in single requests: 5 should fail
No full-sized image data returned because record was created while CanStoreFullImage was false.
No full-sized image data returned because record was created while CanStoreFullImage was false.
No full-sized image data returned because record was created while CanStoreFullImage was false.
No full-sized image data returned because record was created while CanStoreFullImage was false.
No full-sized image data returned because record was created while CanStoreFullImage was false.
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 144x144.png_downloaded_with_stream_full-sized.png
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 144x400.png_downloaded_with_stream_full-sized.png
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 400x144.png_downloaded_with_stream_full-sized.png
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 400x500.png_downloaded_with_stream_full-sized.png
Full-sized file downloaded to DownloadedImages\CanStoreFullImage true 60x80.png_downloaded_with_stream_full-sized.png
Deleting the image data from the columns using 3 different methods:
CanStoreFullImage false 144x144.png sample_imagecolumn deleted with PATCH
CanStoreFullImage false 144x400.png sample_imagecolumn deleted with PATCH
CanStoreFullImage false 400x144.png sample_imagecolumn deleted with PATCH
CanStoreFullImage false 400x500.png sample_imagecolumn deleted with PUT
CanStoreFullImage false 60x80.png sample_imagecolumn deleted with PUT
CanStoreFullImage true 144x144.png sample_imagecolumn deleted with PUT
CanStoreFullImage true 144x400.png sample_imagecolumn deleted with DELETE
CanStoreFullImage true 400x144.png sample_imagecolumn deleted with DELETE
CanStoreFullImage true 400x500.png sample_imagecolumn deleted with DELETE
CanStoreFullImage true 60x80.png sample_imagecolumn deleted with DELETE
Deleted the account records created for this sample.
Deleting the image column named 'sample_ImageColumn' on the account table ...
Deleted the image column named 'sample_ImageColumn' in the account table.
Sample completed.
Demostraciones
El código para este ejemplo se incluye en el archivo Program.cs.
El proyecto usa una clase para realizar operaciones que impliquen la creación o recuperación de datos de esquema. Esta clase está en el archivo Utility.cs.
Este proyecto realiza estas operaciones:
Crear una columna de imágenes
Esta muestra necesita crear una nueva columna de imagen que sea la imagen principal para la tabla de cuentas. También debe devolver el sistema al estado original cuando haya terminado. Así que el programa hace estas cosas al principio:
Capture el nombre de la imagen principal original con el método .
Utilice el método para crear una nueva columna de imagen llamada en la tabla de cuentas si aún no existe.
Nota
El valor de esta columna de imagen es falso.
Utilice el método para hacer la nueva columna de imagen primaria.
Crear registros de cuenta con datos de imagen
- El programa recorre una lista de cinco nombres de archivo que coinciden con los nombres de los archivos en la carpeta .
- Para cada imagen, el programa crea un registro de cuenta con el campo ajustado a [valor_placeholder] y el archivo [nombre_del_archivo] establecido como el valor [valor_placeholder].
- A continuación, el programa utiliza el método para establecer el valor de la definición de columna como verdadero.
- Una vez más, el programa recorre los nombres de los archivos y crea cinco registros de cuenta con los mismos archivos de imagen asignados a un valor específico. Esta vez es
En el siguiente código, podemos ver cómo el valor de la propiedad cambia qué datos están disponibles.
Recuperar los registros de cuenta
El código recupera los 10 registros de cuenta creados en el paso anterior, incluidos los datos de la imagen.
Para cada registro de cuenta, los datos de la imagen se descargan en la carpeta con el nombre .
Nota
Todos estos registros son imágenes en miniatura.
Descargar las imágenes del registro de cuenta
Este programa utiliza tres métodos diferentes para descargar archivos de imagen.
Nota
En cada caso, 5 de las 10 operaciones fallarán porque no se subieron imágenes de tamaño completo mientras la condición era falsa. Esos registros se crearon mientras era verdadero y fueron exitosos.
Descargar con Acciones
El código usa el método estático , que encapsula el uso de las acciones InitializeFileBlocksDownload y DownloadBlock para descargar las imágenes como se describe en Usar mensajes de Dataverse para descargar un archivo.
Nota
Estas operaciones fallan cuando no hay una imagen de tamaño completo para descargar. El mensaje de error es: .
Descargar en fragmentos
El código usa el método estático , que demuestra cómo descargar imágenes como se describe en Descargar el archivo en fragmentos usando la API web.
Nota
Estas operaciones no fallan cuando no hay una imagen de tamaño completo para descargar, simplemente devuelven .
Descargar con Stream
El código usa el método estático , que demuestra cómo descargar imágenes como se describe en Descargar un archivo en una única solicitud usando la API web
Nota
Estas operaciones no fallan cuando no hay una imagen de tamaño completo para descargar, simplemente devuelven .
Eliminar los datos de imagen
- El programa utiliza tres métodos diferentes para demostrar la eliminación de valores de imagen, utilizando , y .
- El programa verifica la eliminación de los registros recuperando los registros nuevamente utilizando los mismos criterios que antes. El valor de la columna de la imagen es nulo.
Limpiar
Para dejar el sistema en el estado anterior a la ejecución del ejemplo, el programa hace lo siguiente:
- Eliminar los registros de cuenta.
- Establecer la imagen principal de la tabla de cuenta de nuevo en el valor original.
- Eliminar la columna de imagen.
Consulte también
Utilizar datos de la columna de imagen
Trabajar con definiciones de columna de imagen mediante código
Usar datos de columna de archivo
Ejemplo: Operaciones de imágenes usando Dataverse SDK para .NET