私は画像共有Webアプリケーションを構築してScalajsを学んでいます。 フォームでは、古典的なファイル入力タグがあり、AjaxとjQueryを使用してHTTP Postリクエストを使用してリモートサーバーにアップロードしたいと考えています。ScalajsでAjaxを使ってファイルをアップロードするには
これはhtmlです:
<input id="postTitle" class="form-control" placeholder="Title" type="text" aria-describedby="basic-addon1">
<input id="file" class="form-control" placeholder="Browse" type="file" aria-describedby="basic-addon1">
<input id="tags" class="form-control" placeholder="Tags in format ['tag 1', 'tag 2',...]" type="text">
<button id="postButton" class="btn btn-success">Submit</button>
そしてここでは、基礎となるScalaのコードです:
lazy val submitElement = jQuery("#postButton")
jQuery(() => {
submitElement.click {
(_: JQueryEvent) => {
dom.ext.Ajax.post(
url = [server_url],
data = ???, // <-- How do I get the file?
headers = Map("Content-Type" -> "application/json")
).foreach { xhr =>
if (xhr.status == 200) {
val x = JSON.parse(xhr.responseText)
println(x)
}
}
}
}
})
すべてのヘルプは非常に私はいるFormData APIを使用