説明/参照:
Explanation:
B:例(ウェブストレージapi upload.aspxに注意):
<!DOCTYPE html>
<html>
<ヘッド>
<title> XMLHttpRequestを使用したファイルのアップロード - 最小限</title>
</head>
<body>
<form id = "form1" enctype = "multipart / form-data" method = "post" action = "Upload.aspx">
<div class = "row">
<label for = "fileToUpload">アップロードするファイルを選択します</label> <br />
<input type = "ファイル" name = "fileToUpload" id = "fileToUpload" onchange = "fileSelected();" />
</div>
<div id = "fileName"> </div>
<div id = "fileSize"> </div>
<div id = "fileType"> </div>
<div class = "row">
<input type = "button" onclick = "uploadFile()" value = "アップロード" />
</div>
<div id = "progressNumber"> </div>
</form>
</body>
</html>
D:
* XMLHttpRequestを使用しているため、アップロードはバックグラウンドで行われています。ユーザーが表示されているページはそのまま残ります。あなたのビジネスプロセスがそれをうまく動かすことができるなら、これは持っているべき素晴らしい機能です。
* XMLHttpRequestオブジェクトは、Html 5仕様の改造を受けました。具体的には、XMLHttpRequest Level 2仕様(現在の最新バージョン)には、以下の新機能が含まれています。
アップロードおよびダウンロード用のFile、Blob、FormDataオブジェクトなどのバイトストリームの処理

アップロードおよびダウンロード中の進行状況イベント

クロスオリジン要求

匿名のリクエストを許可する - HTTP Refererを送信しない

リクエストにタイムアウトを設定する機能

参考文献:
https://www.w3schools.com/js/js_ajax_http.asp