Skip to content

Instantly share code, notes, and snippets.

@virolea
Last active April 9, 2026 15:39
Show Gist options
  • Select an option

  • Save virolea/e1af9359fe071f24de3da3500ff0f429 to your computer and use it in GitHub Desktop.

Select an option

Save virolea/e1af9359fe071f24de3da3500ff0f429 to your computer and use it in GitHub Desktop.
Tracking file upload progress using axios
upload(files) {
const config = {
onUploadProgress: function(progressEvent) {
var percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total)
console.log(percentCompleted)
}
}
let data = new FormData()
data.append('file', files[0])
axios.put('/endpoint/url', data, config)
.then(res => console.log(res))
.catch(err => console.log(err))
}
@PatelDhrupal

Copy link
Copy Markdown

You are champ.

@ShrikantaMazumder

Copy link
Copy Markdown

Thanks

@lucaswinningham

Copy link
Copy Markdown

Thanks

@Lakmal98

Copy link
Copy Markdown

Thank you ♥

@Nikolov0080

Copy link
Copy Markdown

Very useful,have a wonderful day!

@kayotimoteo

Copy link
Copy Markdown

Thanks you 🚀

@Lesleytech

Lesleytech commented Nov 21, 2020

Copy link
Copy Markdown

Thanks a bunch! Clean & nice code

@futuster

Copy link
Copy Markdown

Спасибо!

With some improvements:

const onUploadProgress = event => {
    const percentCompleted = Math.round((event.loaded * 100) / event.total);
    console.log('onUploadProgress', percentCompleted);
};

const upload = async files => {
    const data = new FormData();
    
    for(const [index, file] of files.entries()){
        data.append(index, file); // append all files
    }

    try {

        const result = await axios.put('/endpoint/url', data, {onUploadProgress});

        console.log('result is', result); // result is server's response

    } catch(error){
        console.error(error);
    } finally {
        console.log('Upload complete');
    }
}

@IsaacMujica

Copy link
Copy Markdown

Very thanks all to be so kind to share a great code!!

@jovandyaz

Copy link
Copy Markdown

@virolea, that's still works and it's simply cool! Thanks a lot!
@futuster, nice touch!

@thanet-s

thanet-s commented Feb 3, 2021

Copy link
Copy Markdown

Verry nice! Thanks

@yarivShamash

Copy link
Copy Markdown

Thanks a lot!!

@kogrenich

Copy link
Copy Markdown

Thanks!

@rafgk

rafgk commented Apr 22, 2021

Copy link
Copy Markdown

Useful, thanks!

@mahmutatmaca

Copy link
Copy Markdown

I when try take request.upload.addEventListener in not a function

@goonursultan

Copy link
Copy Markdown

thanks bro

@Hoodgail

Copy link
Copy Markdown

wow, this code works exactly as written by you. thanks man, nice code

@flash548

Copy link
Copy Markdown

Thank you!

@designbyadrian

Copy link
Copy Markdown

This is code and I thank.

I am not a bot.

@DawnImpulse

Copy link
Copy Markdown

simple, efficient & works... thanks a lot

@oggbarcelos

Copy link
Copy Markdown

Thanks.

@mixelburg

Copy link
Copy Markdown

you lou bro :)

@premrajah

Copy link
Copy Markdown

Really helpful, thanks

@Roey7

Roey7 commented May 15, 2023

Copy link
Copy Markdown

Nice. thanks!

@nvtienlg

Copy link
Copy Markdown

Thank you bro

@mtalha218

Copy link
Copy Markdown

Hi, but this is giving me 401 unauthorized error when i call my API, Why is that?

@MominjonVue

Copy link
Copy Markdown

Thank :)

@mohasinkr

Copy link
Copy Markdown

Thanks, you are a legend!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment