Pixmapのキャッシュについて

【ご質問】
Pixmap.from-streamにByteInputStreamを渡すと
ブラウザの一時フォルダにキャッシュが作成されません。

キャッシュを参照しないため常にWebサーバとの通信が発生してしまいレスポンス悪化の懸念が生じます。

【回答】
「Pixmap.from-streamにByteInputStreamを渡すと ブラウザの一時フォルダにキャッシュが作成されない」
動作は、Curlの仕様でございます。

回避策として、{stream.read}で読み込んだByteArrayデータから
ByteArrayInputStreamを作成することができますので、
このByteArrayInputStreamを{Pixmap.from-stream}に渡せば
streamを渡したときと同様にPixmapが作成することができます。

この形でPixmapを作成した場合には、ダウンロードされた画像ファイルをブラウザの一時フォルダにキャッシュされます。 

def png-path = {url http://www.curlap.com/shared/images/side_img_community.png}
{with-file-caching-style FileCachingStyle.resynchronize do
    {with-open-streams stream = {read-open-byte png-path} do

        || ByteArrayからByteArrayInputStreamを作成
        def byte-array = {stream.read} asa ByteArray
        def bais = {ByteArrayInputStream byte-array}
       
        || from-streamにはByteArrayInputStreamのオブジェクトを渡す
        def image-data = {Pixmap.from-stream
                             bais,
                             {non-null {file-extension-to-mime-type png-path.extension}}
                         }
       
        set frame-area.background = image-data
       
        {frame-area.add “”,replace?=true}
    }
}