最近のアクセス:
BlobFile データタイプ

形式にかかわらず、すべてのファイルタイプ (画像、音声、動画、PDF、Excel など) を格納または参照します。データはローカルに格納することも、任意の外部ストレージメディアを使用することもできます。

プロパティとメソッド

プロパティとメソッドは、Image データタイプAudio データタイプVideo データイプと同様です。

プロパティ

FileName ファイル名を取得します (Character)。ファイルのベース名を参照します。すなわち、拡張子は返しません。
FileType ファイルタイプを取得します。ファイルの拡張子を示します: txt、jpg、pdf など。
拡張子は ContentType と同じでないことに注意してください。ContentType は、ブラウザーが解釈する HTTP ヘッダーです。例: application/json、image/jpg、text/JavaScript、text/css。
また、FileType に基づいて ContentType をプログラムで設定できます。(例: FileType="html" の場合 ContentType="text/html")。
FileURI FileURI を設定または取得します。
設定:
相対パスを設定できます。これは現在のホスト内で解決されます。
file:// プロトコルでローカルパスを設定できます。
[ URI ] プロパティを設定すると、DB に格納されている内部バイナリファイルが空に設定されます。
例:
&Blobfile.FromURL(myFileWillbeErasedInNextLine)
&Blobfile.FileURI = "http://www.myfiles/file.pdf"
この場合、この .pdf ファイルがデータ内のファイルになります。
取得:
常にファイルの絶対 URI を返します。

メソッド

FromURL(FileURL) FileURL パラメーターで指定したファイルを現在のインスタンスにロードします。
ファイルを保持している内部バイナリが、指定する FileURL からロードされます。
このメソッドの呼び出し後は、指定する FileURL のファイル名と拡張子が [ URI ] プロパティに保持されます。
例:
 
&Blobfile.FromURL('www.myfiles.com/myfile.pdf')
msg(&Blobfile.FileURI) // will print myfile.pdf
 
SetEmpty/IsEmpty  

仕組み

ファイルは、FromURL メソッドを使用して URI (ローカルまたはリモート) からロードできます。FromURL に渡す値がリモート URL の場合、ファイルがダウンロードされ、必要に応じて DB に保存されます。
リモートまたはローカルにあるファイルを参照するだけの場合は、 [ URI ] プロパティを割り当てるだけです。

DB への格納方法

BlobFile データタイプは、DB では自動的に複数のフィールドを使って格納されます (Image データタイプAudio データタイプVideo データタイプと同様)。

DB に保存される構造は次のとおりです:
  • Attribute_Name (ここにバイナリが格納される)
  • Attribute_Name_GXI (URI が格納される) (GXI = GeneXus 識別子)
URI が割り当てられる場合、Attribute_Name_GXI は外部ファイルであると想定されます (この場合、完全な URI が格納される)。FromURL メソッドを使用してファイルがロードされた場合は、相対パスが保存されます (ファイルの名前とタイプが分かる)。
ファイルが格納されると、ファイル名が次のように GXI フィールドに格納されます:
gxdbfile: <file name> _ <token>.<file extension>
  接頭語 "gxdbfile:" は、相対 URL ではなく、ファイルであることを GeneXus に指示します。
トークンによって、ファイルを一意に識別することができます。GeneXus によって GUID が生成されます。

Blob データタイプと BlobFile データタイプの違い

Blob と BlobFile の各データタイプの違いは、データベースに格納される方法です。BlobFile は任意の外部ストレージに格納できますが、Blob データタイプは外部ストレージに保存できません。

再編成

次の再編成がサポートされています:
  • Blob から BlobFile -> バイナリファイルがコピーされ、元の Blob ファイルの名前から GXI_Attribute_Name が取得されます。
  • Character から BlobFile -> 文字項目属性から GXI_Attribute_Name が設定されます。
  • BlobFile から Blob -> GXI_Attribute_Name フィールドが削除されます。
  • BlobFile から Character -> 可能な場合は、GXI_Attribute_Name の値を使用してフィールドが割り当てられます。それ以外の場合は空のまま残されます。

使用可能バージョン



サブページ
Created: 19/03/25 18:01 by Admin Last update: 24/04/10 18:40 by Admin
カテゴリ
Powered by GXwiki 3.0