ファイルおよび画像の概要

Dataverse は、ファイルを表すバイナリ データをさまざまな種類の列に保存するさまざまな方法を提供します。 次のテーブルは、いくつかの類似点と相違点をまとめたものです。

File Image 添付とメモ
属性の種類 File Image String
新しい列を作成しますか はい コードを使ってファイル列定義を操作する を参照します はい、コードを使って画像列定義を操作する を参照してください いいえ、activitymimeattachment.body 列と annotation.documentbody 列のみです。
ファイル サイズの制限 MaxSizeInKB 設定で構成可能
最大10 GB、ただしクライアント コントロールは128 MBに制限
MaxSizeInKB 設定で構成可能
30 回まで。
Organization.MaxUploadFileSize で最大128 MBまで設定可能。 ファイル サイズの制限 を参照
メッセージのアップロード InitializeFileBlocksUpload
UploadBlock
CommitFileBlocksUpload
InitializeFileBlocksUpload
UploadBlock
CommitFileBlocksUpload
InitializeAttachmentBlocksUpload
UploadBlock
CommitAttachmentBlocksUpload
OR
InitializeAnnotationBlocksUpload
UploadBlock
CommitAnnotationBlocksUpload
メッセージのダウンロード InitializeFileBlocksDownload
DownloadBlock
InitializeFileBlocksDownload
DownloadBlock
InitializeAttachmentBlocksDownload
DownloadBlock
OR
InitializeAnnotationBlocksDownload
DownloadBlock
取得動作 レコードを取得できません。 代わりに fileid 値を返します。 サムネイル サイズの画像をレコードと共に取得できます。 レコード付きのファイル取得できません。
作成で設定 いいえ プライマリ画像列のみ はい
更新で設定 いいえ、列の値を設定する必要があります。 はい はい
ファイル データの削除 列の値を null に設定するか、DeleteFile メッセージを使用してください。 列の値を null に設定する。 列の値を null に設定する。
対応しているファイルの種類 Organization.BlockedAttachments によってブロックされていないファイル。 特定の種類のファイルをブロックする を参照 gifjpegtiffbmppng ファイルのみ。 Organization.BlockedAttachments によってブロックされていないファイル。 特定の種類のファイルをブロックする を参照
特別な行動 Column は常にサムネイル サイズの画像を作成して保存します。 フルサイズの画像は、列がそれを許可するように構成されている場合にのみ保存されます。 フルサイズの画像ファイルをダウンロードするには、特別な構文が必要です。

各列には、画像をダウンロードするための相対 URL を含むコンパニオン文字列列があります。
詳細情報 ファイル列のデータを使用する ファイル列のデータを使用する 添付ファイルとメモ レコードでファイル データを使用する
サンプル コード .NET 用 SDK
Web API
.NET 用 SDK
Web API
.NET 用 SDK
Web API

特定の種類のファイルをブロックする

拡張子または MIME のタイプによって、アップロードできるファイルの種類をブロックできます。

拡張子でファイルをブロックする

ファイル列、添付ファイル、メモに保存できないファイルの種類を指定できます。 許可されないファイルの種類については、ブロックする添付ファイルの拡張子の設定 設定の システム設定全般タブ を参照してください。

また、このデータをプログラムで照会し、変更することも可能です。 これは、Organization.BlockedAttachments 列に保存されます。 組織テーブルには 1 行しかありません。 このデータは、SDK や Web API を使用して問い合わせることができます:

これは性的 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"];

}

既定では、次のような文字列値を返します:

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

詳細情報: QueryExpression を使用してクエリを作成する

誰かがブロックされたタイプのいずれかを使用してファイルをアップロードしようとすると、次のエラーが発生します:

名前: AttachmentBlocked
コード: 0x80043e09
番号: -2147205623
メッセージ: The attachment is either not a valid type or is too large. It cannot be uploaded or downloaded.

特定の MIME タイプをブロックまたは許可する

MIME タイプに基づいてファイルのアップロードをブロック、または許可できます。 詳細については、MIME タイプの検証 を参照してください。

また、このデータをプログラムで照会し、変更することも可能です。 これは、Organization.BlockedMimeTypes 列と Organization.AllowedMimeTypes 列に保存されます。 組織テーブルには 1 行しかありません。 このデータは、SDK や Web API を使用して問い合わせることができます:

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);
}