Fable-ElmishとReact Helpersを使用してファイルをアップロードしようとしています。しかし、ファイルがFetchを使用してサーバーに送信できるものに選択されたときに、フォームイベントを変換する方法を考えることはできません。これは図である。Fable-Elmishを使用してReact.FormEventをBodyInitに変換します
R.input [
ClassName "input-control"
Type "file"
OnChange (fun x -> FileUploaded x.target |> dispatch)
] []
私の更新機能の対応する部分:
| FileUploaded file ->
model, Cmd.ofPromise postCsv file FetchSuccess FetchFailure
フェッチで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をBodyInitにインポートする必要がありますか?
私はあなたの提案を考慮して、最新のコードを含めるように質問を更新しました。これは実際に投稿要求を行いますが、ファイルは含まれません。リクエストペイロードは次のようになります。------ WebKitFormBoundaryAkHYH5XIH8vT8kea コンテンツの処理:フォームデータ。名前: "file.csv" [オブジェクトFileList] ------ WebKitFormBoundaryAkHYH5XIH8vT8kea-- –
パブリックフォルダでバンドルを検索し、生成されているコードを投稿してください。また、あなたがサーバーを含む小さなreproプロジェクトを投稿してくださいできる場合は、 Powerpackのフェッチ宣言のトラブルシューティングやパッチ適用に使用できます。 –
reproはこちらです:https://github.com/danoleary/FableFileUploadRepro –