10

私は最初のYesodアプリを書いています。このアプリケーションでは、サーバー上のDBに保存されているデータに基づいて動的に生成されたグラフを表示することをユーザーが選択します。ユーザーリクエストを取得してサーバーのファイルシステムに画像を作成する方法を知っていますが、それを表示する応答ページを作成するにはどうすればよいですか?

PS私はGnuPlotを使用して画像を生成しているので、ファイルシステムにファイルとして書き込む方法しか知りませんが、メモリ内のデータを取得する方法を知っている場合は、おそらくさらに優れています。ありがとう、

4

1 に答える 1

10

ディスク上のファイルの場合sendFile、ハンドラーで使用できます。

getImageR = do
    -- ... save image data to disk somewhere
    sendFile typeJpeg "/path/to/file.jpg"

ByteStringメモリ内から送信するには、を使用しますsendResponse

getImageR = do
    bytes <- -- generate image data
    sendResponse (typePng, toContent bytes)

画像に正しいコンテンツタイプを指定してください。

于 2011-08-22T15:11:53.293 に答える