ファイルおよび画像の概要
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 によってブロックされていないファイル。 特定の種類のファイルをブロックする を参照 | gif 、jpeg 、tiff 、bmp 、png ファイルのみ。 |
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
誰かがブロックされたタイプのいずれかを使用してファイルをアップロードしようとすると、次のエラーが発生します:
名前:
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);
}