Compartir a través de


Información general sobre imágenes y archivos

Dataverse proporciona varias formas diferentes de guardar datos binarios que representan archivos en diferentes tipos de columnas. La siguiente tabla resume algunas de las similitudes y diferencias.

Archivo Imagen Adjunto y nota
Tipo de atributo Archivo Imagen Cadena
Crear nuevas columnas Sí. Consulte Trabajar con definiciones de columna de archivo mediante código Sí, consulte Trabajar con definiciones de columna de imagen mediante código No, solo las columnas activitymimeattachment.body y annotation.documentbody.
Límites de tamaño de archivo Configurable por configuración de columna MaxSizeInKB
Hasta 10 GB, pero los controles del cliente están limitados a 128 MB
Configurable por configuración de columna MaxSizeInKB
Hasta 30 MB.
Configurable con la opción Organization.MaxUploadFileSize hasta 128 MB. Vea Límites de tamaño de archivo
Cargar mensajes InitializeFileBlocksUpload
UploadBlock
CommitFileBlocksUpload
InitializeFileBlocksUpload
UploadBlock
CommitFileBlocksUpload
InitializeAttachmentBlocksUpload
UploadBlock
CommitAttachmentBlocksUpload
O
InitializeAnnotationBlocksUpload
UploadBlock
CommitAnnotationBlocksUpload
Descargar mensajes InitializeFileBlocksDownload
DownloadBlock
InitializeFileBlocksDownload
DownloadBlock
InitializeAttachmentBlocksDownload
DownloadBlock
O
InitializeAnnotationBlocksDownload
DownloadBlock
Recuperar comportamiento No se puede recuperar el archivo con el registro. Devuelve el valor fileid en su lugar. Puede recuperar imágenes en miniatura con registros. Puede recuperar el archivo con registros.
Establecer con creación No Solo la columna de imagen principal
Establecer con actualización No, debe establecer el valor de la columna.
Eliminar datos de archivo Establezca el valor de la columna en nulo o use el mensaje DeleteFile . Establezca el valore de columna en null. Establezca el valore de columna en null.
Tipos de archivo admitidos Cualquier archivo no bloqueado por Organization.BlockedAttachments. Vea Bloquear ciertos tipos de archivos Solo archivos gif, jpeg, tiff, bmp y png. Cualquier archivo no bloqueado por Organization.BlockedAttachments. Vea Bloquear ciertos tipos de archivos
Comportamientos especiales Columna siempre crea y guarda imágenes en miniatura. Las imágenes de tamaño completo se guardan solo cuando la columna está configurada para hacerlo. Se requiere una sintaxis especial para descargar archivos de imagen de tamaño completo.

Cada columna tiene una columna de cadena complementaria que contiene una URL relativa para descargar la imagen.
Más información Usar datos de columna de archivo Usar datos de columna de imagen Usar datos de archivo con registros de Adjuntos y Notas
Código de ejemplo SDK para .NET
API web
SDK para .NET
API web
SDK para .NET
API web

Bloquear ciertos tipos de archivos

Puede bloquear los tipos de archivos que se pueden cargar por extensión o tipo MIME.

Bloquear archivos por extensión

Puede especificar qué tipos de archivos no se pueden guardar en columnas de archivos, archivos adjuntos y notas. Use la pestaña General de Configuración del sistema en la configuración Definir las extensiones de archivo bloqueadas para datos adjuntos para controlar los tipos de arcchivo que se bloquearán.

También puede consultar y modificar estos datos mediante programación. Se almacena en la columna Organization.BlockedAttachments. Solo hay una fila en la tabla de organización. Puede usar el SDK o la API web para consultar estos datos:

Este método estático RetrieveBlockedAttachments:

protected static string RetrieveBlockedAttachments(IOrganizationService service) {

   var query = new QueryExpression("organization")
   {
         ColumnSet = new ColumnSet("blockedattachments"),
         TopCount = 1
   };
   EntityCollection results = service.RetrieveMultiple(query);
   return (string)results.Entities.FirstOrDefault()["blockedattachments"];

}

Devuelve un valor de cadena como este por defecto:

ade;adp;app;asa;ashx;asmx;asp;bas;bat;cdx;cer;chm;class;cmd;com;config;cpl;crt;csh;dll;exe;fxp;hlp;hta;htr;htw;ida;idc;idq;inf;ins;isp;its;jar;js;jse;ksh;lnk;mad;maf;mag;mam;maq;mar;mas;mat;mau;mav;maw;mda;mdb;mde;mdt;mdw;mdz;msc;msh;msh1;msh1xml;msh2;msh2xml;mshxml;msi;msp;mst;ops;pcd;pif;prf;prg;printer;pst;reg;rem;scf;scr;sct;shb;shs;shtm;shtml;soap;stm;tmp;url;vb;vbe;vbs;vsmacros;vss;vst;vsw;ws;wsc;wsf;wsh;svg

Más información: Crear consultas con QueryExpression

Cuando alguien intenta cargar un archivo usando uno de los tipos bloqueados, ocurre el siguiente error:

Nombre: AttachmentBlocked
Código: 0x80043e09
Número: -2147205623
Mensaje: The attachment is either not a valid type or is too large. It cannot be uploaded or downloaded.

Bloquear o permitir ciertos tipos MIME

Puede bloquear o permitir la carga de archivos según los tipos MIME. Más información: Validación de tipo MIME.

También puede consultar y modificar estos datos mediante programación. Se almacena en las columnas Organization.BlockedMimeTypes y Organization.AllowedMimeTypes . Solo hay una fila en la tabla de organización. Puede usar el SDK o la API web para consultar estos datos:

public static (string, string) RetrieveMimeTypes(IOrganizationService service)
{
    var query = new QueryExpression("organization")
    {
        ColumnSet = new ColumnSet("blockedmimetypes", "allowedmimetypes"),
        TopCount = 1
    };
    EntityCollection results = service.RetrieveMultiple(query);
    Entity organization = results.Entities.FirstOrDefault();
    return (
        organization.Contains("blockedmimetypes") ? (string)organization["blockedmimetypes"] : string.Empty,
        organization.Contains("allowedmimetypes") ? (string)organization["allowedmimetypes"] : string.Empty);
}