添付ファイルを取得(Object)

iill_GetAttachedFile_Field FMP7,非対応 ※FMP10で添付ファイルが「PNG」の場合、未対応。

添付ファイルを直接フィールドに取得(Base64のみ対応)


構文

iill_GetAttachedFile_Field( Mail項目番号 )

引数

Mail項目番号

戻り値

Object(Binary)

説明

先に「iill_BodyAnalyzer」の実行が必要です。

FileMakerのオブジェクトフィールドに直接 添付ファイルを取得します。

画像ファイル(.jpg .png .gif .bmp)は、[ピクチャを挿入]と同等、
それ以外のファイルは、[ファイルを挿入]と同等の状態でオブジェクトフィールドに挿入されます。

取得出来る添付ファイルの容量は10MB程度です。それ以上になるとプラグインが不安定になります。

例:

先に「iill_BodyAnalyzer」の実行が必要です。

iill_GetMultipartHeaderInfo( $n ; "Content-Disposition:" )で"attachment"(添付ファイル)かどうかを確認し、
[オブジェクトフィールド]へ添付ファイルを挿入。

フィールド設定 [ $添付ファイルチェック ; iill_GetMultipartHeaderInfo( $n ; "Content-Disposition:" )]
#添付ファイルの確認[iill_GetMultipartHeaderInfo( $n ; "Content-Disposition:" ) ]の戻り値に"attachment"があるかどうか?
If [PatternCount ( $添付ファイルチェック ; "attachment" )]
フィールド設定 [オブジェクトフィールド; iill_GetAttachedFile_Field( $n )] /*添付ファイルをフィールドに取得*/
End If

添付ファイルの形式が"quoted-printable"の場合に、FileMakerが不安定になる

問題:
添付ファイルの形式が"quoted-printable"の場合に、FileMakerが不安定になる、強制終了する、などが起こる場合があります。

解決方法:
iill_GetAttachedFile_Field( $n )で
添付ファイル取得の前に
iill_GetMultipartHeaderInfo( $n ; "Content-Transfer-Encoding:" )
で、"quoted-printable"かどうか確認するスクリプトを追加していただければと思います。

If [PatternCount ( iill_GetMultipartHeaderInfo( $n ; "Content-Transfer-Encoding:" ) ; "quoted-printable" )]
フィールド設定 [Mail_Body::添付ファイル; "quoted-printable"]
Else
フィールド設定 [Mail_Body::添付ファイル; iill_GetAttachedFile_Field( $n )]
End If

または、

If [PatternCount ( iill_GetMultipartHeaderInfo( $n ; "Content-Transfer-Encoding:" ) ; "base64" )]
フィールド設定 [Mail_Body::添付ファイル; iill_GetAttachedFile_Field( $n )]
End If
Comments