我正在尝试使用 Fable-Elmish 和 React Helpers 上传文件。但是,我不知道如何在选择文件时将表单事件转换为可以使用 Fetch 发送到服务器的内容。这是视图:
R.input [
ClassName "input-control"
Type "file"
OnChange (fun x -> FileUploaded x.target |> dispatch )
] []
我的更新功能的相应部分:
| FileUploaded file ->
model, Cmd.ofPromise postCsv file FetchSuccess FetchFailure
以及使用 fetch 调用 api 的函数:
let postData input =
let formData = FormData.Create()
formData.append("file.csv", input?files)
let defaultProps =
[ RequestProperties.Method HttpMethod.POST
; RequestProperties.Body (formData |> unbox)]
promise {
return! Fable.PowerPack.Fetch.fetch ("/api/data") defaultProps
}
如何将 React.FormEvent 转换为 fetch 需要的 BodyInit?