我想从电子邮件中获取附件并将其转换为 base64 字符串,以便可以将其存储为 JSON。
在 C# 中,我将附件作为System.IO.Stream
.,将其读入字节数组,然后使用Convert.ToBase64String
.
不过,在 F# 中,我不知道该怎么做(我是初学者),感觉可能有一种更实用的做事方式......?
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)