添付ファイルを取得(Object)
iill_GetAttachedFile_Field
添付ファイルを直接フィールドに取得(Base64のみ対応)
FMP7,非対応 FMP10で添付ファイルが「PNG」の場合、未対応。
構文
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