データベースから取得した一時ファイルを Blob ローカル格納パスに保存する際の拡張子を指定します。
[ File Type ] プロパティは、設計時と実行時に割り当てることができます。
例:
TXT RTX HTML (または HTM) XML AIF AU WAV BMP GIF JPE (または JPEG、JPG) JFIF TIF MPEG MOV/QT AVI EXE PS PDF TGZ PNG ZIP GZ DLL
Blob のファイル拡張子を取得したり、動的に変更したりするのに使用できます。
ファイルの拡張子を取得するには、次の構文を使用します:
&extension = Attblob.FileType
[ FileType ] プロパティは、Blob がアップロードされたときに実際のファイル拡張子を返します。 たとえば、Web トランザクションにおいて次のルールがあるとします:
msg('The uploaded file is ' + Attblob.FileName + '.'+ Attblob.FileType) if not Attblob.isempty() on aftervalidate;
ファイルのアップロード時に、Attblob.FileType が実際のファイル名を返します。 ファイルのダウンロード時には、ファイルタイプは次のプロパティから取得されます:
1. [ File Type ] プロパティ (設計モデルで割り当てられている場合) 2.Blob の [ File Type Attribute ] プロパティ (Blob にこのプロパティがある場合)
上記から取得できない場合は null を返します。
ファイルのダウンロード時にファイルの拡張子を変更することもできます。 これは、一時ファイルを保存する際に拡張子を変更するために行います。
ファイルタイプ項目属性が関連付けられていない Blob 項目属性があります。ダウンロード時に .doc 拡張子を割り当てたい場合、次のようにします:
Event Start
Attblob.FileType = 'DOC'
EndEvent // Start
重要な注記: [ File Type Attribute ] プロパティが設定されている場合、このプロパティの値は無視されます。
GeneXus によって自動的に決定されるこの拡張子は、Blob のコンテンツタイプを動的に決定するのにも使われます。 つまり、Blob に [ File Type ] プロパティを指定すると、GeneXus はその Blob に対応するコンテンツタイプも推論します。Blob に [ Content Type ] プロパティを指定し、 [ File Type ] プロパティも設定した場合、 [ File Type ] プロパティよりも [ Content Type ] プロパティのほうが優先されます。
いずれも設定しておらず、ファイルに拡張子がない (関連する FileTypeAttribute がない) 場合、デフォルトで text/html コンテンツタイプが設定されます。
JPG 画像のような一部のファイルは、text/html コンテンツタイプを使用して IE で表示することができます。ただし、Netscape や Mozilla で正しく表示するためには、コンテンツタイプを image/jpeg にする必要があります。 そのため、これらのブラウザーを使用する場合は、前述のような方法で Blob に対応するコンテンツタイプを指定する必要があります。
このプロパティは、実行時と設計時の両方で適用されます。
|