これは InterSystems FAQ サイト の記事です。
以下のサンプルでは、画像ファイルをクラスプロパティにBase64文字列にエンコードして保存し、再びそれをBase64でデコードし、別のファイルに復元しています。
【使用クラス】
Class User.test Extends %Persistent
{
Property pics As %GlobalBinaryStream;
}
【取込み時】
set x=##class(User.test).%New() // ここに保存
// 画像準備
set file=##class(%File).%New("c:\temp\Mii.png")
do file.Open("RUK\BIN\")
for {
if file.AtEnd=1 quit
// 画像を1024 byteずつ Base64形式に変換(エンコード)
set cnt=file.Read(1024)
set b64=$system.Encryption.Base64Encode(cnt) // b64: 1402byte
do x.pics.Write(b64)
}
do x.%Save()
do file.Close()


.png)
.png)
