我使用Fable.PowerPack的FetchAPI来制作基本的身份验证应用程序,但我遇到麻烦,因为我无法进行base64编码。
例如,我写了这样的代码,
let base64enc str =
str
|> Seq.map byte
|> Array.ofSeq
|> System.Convert.ToBase64String
但是,会发生以下错误。
Error FABLE: Can not find replacement for System.Convert.ToBase64String
有什么办法吗?
答案 0 :(得分:3)
我认为JavaScript btoa
function可以满足您的需求。在寓言中使用它的最简单,最快捷的方法是使用Emit
属性:
[<Emit("btoa($0)")>]
let toBase64String (bytes:byte[]) : string = failwith "JS"
.NET方法和JS函数之间可能存在一些细微差别,在这种情况下,您可能需要自己重新实现这些。
此外,这听起来像是Fable可以支持的东西 - .NET操作的替换通常在Replacements.fs file中定义,如果您有兴趣发送拉取请求以添加ToBase64String
的映射和其他人,这将是惊人的!