--- title: XMLHttpRequest.upload slug: Web/API/XMLHttpRequest/upload tags: - AJAX - API - Monitoring XMLHttpRequest - Property - Read-only - Reference - Sending Files - Uploading - XHR - XHR Uploads - XMLHttpRequest - XMLHttpRequest Uploads - XMLHttpRequestUpload - upload - アップロード - ファイル送信 translation_of: Web/API/XMLHttpRequest/upload ---
{{APIRef('XMLHttpRequest')}}

{{domxref("XMLHttpRequest")}} の upload プロパティは、アップロードの進捗を監視することができる {{domxref("XMLHttpRequestUpload")}} オブジェクトを返します。これは不透過なオブジェクトですが、 {{domxref("XMLHttpRequestEventTarget")}} でもあるため、進捗を追跡するために添付することができます。

以下のイベントは upload オブジェクトを起動してアップロードを監視する目に使用することができます。

イベント イベントリスナー 解説
{{event("loadstart")}} {{domxref("XMLHttpRequest.onloadstart", "onloadstart")}} アップロードが始まった。
{{event("progress")}} {{domxref("XMLHttpRequest.onprogress", "onprogress")}} 進捗の量を示すために定期的に発生する。
{{event("abort")}} {{domxref("XMLHttpRequest.onabort", "onabort")}} アップロード操作が中断された。
{{event("error")}} {{domxref("XMLHttpRequest.onerror", "onerror")}} アップロードがエラーのために失敗した。
{{event("load")}} {{domxref("XMLHttpRequest.onload", "onload")}} アップロードが完全に成功した。
{{event("timeout")}} {{domxref("XMLHttpRequest.ontimeout", "ontimeout")}} 返事が {{domxref("XMLHttpRequest.timeout")}} で指定された時間間隔内に届かなかったため、アップロードがタイムアウトされた。
{{event("loadend")}} {{domxref("XMLHttpRequest.onloadend", "onloadend")}} アップロードが終了した。このイベントでは成功か失敗かを区別することはできず、結果にかかわらずアップロードが終了したときに送信されます。このイベントの前に、 load, error, abort, timeout のうちの1つがアップロードが終了した理由を示すために配信されます。

仕様書

仕様書 状態 備考
{{SpecName('XMLHttpRequest', '#the-upload-attribute')}} {{Spec2('XMLHttpRequest')}} WHATWG living standard

ブラウザーの互換性

{{Compat("api.XMLHttpRequest.upload")}}

関連情報