0

電子メールから添付ファイルを取得し、base64 文字列に変換して、JSON として保存できるようにしたいと考えています。

C# では、添付ファイルを として取得し、System.IO.Streamそれをバイト配列に読み取ってから、Convert.ToBase64String.

ただし、F# では、これを行う方法がわかりません (私は初心者です)。おそらくもっと機能的な方法があるように感じます...?

4

1 に答える 1

1

F# は関数型スタイルとオブジェクト指向スタイルを組み合わせているため、F# から .NET ライブラリを簡単に呼び出すことができます。一部のタスク (リスト処理など) に対してより機能的なスタイルを提供する F# 固有のライブラリが存在する場合がありますが、base64 エンコーディングとストリームにはそのようなものはないと思います。

したがって、ストリームを指定すると、それをバッファーに読み取ってから、次のように .NET 型を使用して base64 に変換できます。

open System
open System.IO

let stream = // Some stream, for example: new MemoryStream([| 1uy; 2uy; 3uy; 4uy |])
let buffer = Array.zeroCreate (int stream.Length)
stream.Read(buffer, 0, buffer.Length)
Convert.ToBase64String(buffer)
于 2012-11-04T16:37:40.443 に答える