Events
Power BI DataViz World Championships
Feb 14, 4 PM - Mar 31, 4 PM
With 4 chances to enter, you could win a conference package and make it to the LIVE Grand Finale in Las Vegas
Learn moreThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Dataverse provides several different ways to save binary data representing files in different types of columns. The following table summarizes some of the similarities and differences.
File | Image | Attachment & Note | |
---|---|---|---|
Attribute Type | File | Image | String |
Create new columns? | Yes. See Work with file column definitions using code | Yes, See Work with image column definitions using code | No, only activitymimeattachment.body and annotation.documentbody columns. |
File Size limits | Configurable by column MaxSizeInKB settingUp to 10 GB, but client controls limited to 128 MB |
Configurable by column MaxSizeInKB settingUp to 30 MB. |
Configurable by Organization.MaxUploadFileSize setting up to 128 MB. See File size limits |
Upload Messages | InitializeFileBlocksUpload UploadBlock CommitFileBlocksUpload |
InitializeFileBlocksUpload UploadBlock CommitFileBlocksUpload |
InitializeAttachmentBlocksUpload UploadBlock CommitAttachmentBlocksUpload OR InitializeAnnotationBlocksUpload UploadBlock CommitAnnotationBlocksUpload |
Download Messages | InitializeFileBlocksDownload DownloadBlock |
InitializeFileBlocksDownload DownloadBlock |
InitializeAttachmentBlocksDownload DownloadBlock OR InitializeAnnotationBlocksDownload DownloadBlock |
Retrieve Behavior | Can't retrieve file with record. Returns fileid value instead. |
Can retrieve thumbnail-sized images with records. | Can retrieve file with records. |
Set with Create | No | Only Primary image column | Yes |
Set with Update | No, you must set the column value. | Yes | Yes |
Delete File data | Set column value to null or use DeleteFile message. |
Set column value to null. | Set column value to null. |
File types supported | Any file not blocked by Organization.BlockedAttachments. See Block certain types of files | Only gif , jpeg , tiff , bmp , & png files. |
Any file not blocked by Organization.BlockedAttachments. See Block certain types of files |
Special Behaviors | Column always creates and saves thumbnail-sized images. Full-sized images are saved only when the column is configured to do so. Special syntax required to download full-sized image files. Each column has a companion string column that contains a relative URL to download the image. |
||
More information | Use file column data | Use image column data | Use file data with Attachment and Note records |
Sample Code | SDK for .NET Web API |
SDK for .NET Web API |
SDK for .NET Web API |
You can block the types of files that can be uploaded by the extension or MIME type.
You can specify which types of files can't be saved in file columns, attachments and notes. Use the System Settings General tab under the Set blocked file extensions for attachments setting to control the file types to be blocked.
You can also query and modify this data programmatically. It's stored in the Organization.BlockedAttachments column. There's only one row in the organization table. You can use the SDK or Web API to query this data:
This static RetrieveBlockedAttachments
method:
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"];
}
Returns a string value like this by default:
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
More information: Build queries with QueryExpression
When anyone tries to upload a file using one of the blocked types, the following error occurs:
Name:
AttachmentBlocked
Code:0x80043e09
Number:-2147205623
Message:The attachment is either not a valid type or is too large. It cannot be uploaded or downloaded.
You can block or allow upload of files based on MIME types. More Information: Mime Type Validation.
You can also query and modify this data programmatically. It's stored in the Organization.BlockedMimeTypes and Organization.AllowedMimeTypes columns. There's only one row in the organization table. You can use the SDK or Web API to query this data:
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);
}
Events
Power BI DataViz World Championships
Feb 14, 4 PM - Mar 31, 4 PM
With 4 chances to enter, you could win a conference package and make it to the LIVE Grand Finale in Las Vegas
Learn moreTraining
Learning path
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Documentation
Use file column data (Microsoft Dataverse) - Power Apps
Learn about uploading, downloading, and deleting data in file columns.
Grant limited access to Dataverse files using shared access signatures - Power Apps
Learn how to create a shared access signature URL that enables anyone to download the file or image from Dataverse
Use image column data (Microsoft Dataverse) - Power Apps
Learn about uploading, downloading, and deleting data in image columns.