

お世話になります。

axiosを利用してファイルのアップロードを行っているのですが、  
アップロード要求を出した直後にonUploadProgressイベントが発生し、  
loadedの値がtotalと同じく6029440(byte)で返ってきてしまいます。  
(このtotalサイズは正しいです)

しかし、ネットワークキャプチャを取得してみると  
まだファイルのデータを転送しており、  
onUploadProgressイベントが発生してから4分程度後に転送が完了します。  
(onUploadProgressイベントは1回しか発生しません)

上記の現象が発生する原因について何かご存知でしたら、教えて頂けないでしょうか。

現象が発生している環境は以下の通りです。もし情報足りない場合はご指摘頂けたらと思います。  
axios : 0.21.1  
os : windows 10  
ブラウザ : Edge 92.0.902.84 (他のブラウザ(Firefox, Chrome)でも同じ現象になります)

以下のようなソースで実行しており、onUpload関数内で出力したコンソール出力が  
”debug progress 6029440 6029440”となります。

[code]

    const URL = `/upload/uploadtest.bin`;
    const config = {
      url: URL,
      method: 'post',
      onUploadProgress: onUpload,
      headers: head,
      data: contentBuffer,
    };
    const downloadClient = axios.create({
      baseURL: Const.BASE_URL,
      withCredentials: true,
      timeout: 0,
    });
    const res = await downloadClient.request(config);
    
    onUpload(e) {
      console.debug('debug progress', e.loaded, e.total);
      let progress = Math.floor((e.loaded * 100) / e.total);
      this.progressUp = progress;
    },
    
[/code]

大変恐れ入りますが、よろしくお願い致します。


CC BY-SA 4.0
2021-09-09T03:49:53.457
82367
2021-09-09T03:49:53.457
48123
question
javascript
axiosのonUploadProgressですぐに100%が返ってきてしまう。