EdwardZZZ / articles

工作点滴记录
2 stars 0 forks source link

axios-uploader #52

Closed EdwardZZZ closed 3 years ago

EdwardZZZ commented 5 years ago
const fs = require('fs');
const axios = require('axios');
const FormData = require('form-data');

const data = fs.readFileSync('/Users/z/code/test/img/logo.jpeg');

let form = new FormData()
form.append('logo.jpeg', data, 'logo.jpeg');

let getHeaders = form => new Promise((resolve, reject) => {
    form.getLength((err, length) => {
        if (err) reject(err)
        let headers = Object.assign({ 'Content-Length': length }, form.getHeaders())
        resolve(headers)
    })
})

getHeaders(form)
    .then(headers => {
        return axios.post(url, form, { headers: headers })
    })
    .then((response) => {
        console.log(response.data)
    })
    .catch(e => { console.log(e) })
EdwardZZZ commented 3 years ago

const fs = require('fs');
const FormData = require('form-data');

const sleep = (t) => new Promise(resolve => setTimeout(resolve, t));

(async () => {
    let i = 10000;

    while(i) {

        const form = new FormData();
        const filePath = './package-lock.json'; // path.resolve('')
        const picStream = fs.createReadStream(filePath);

        form.append('file', picStream, {
            knownLength: picStream.knownLength
        })

        form.submit('http://localhost:8058/submit', (err, res) => {
            res.on('data', (data) => {
                console.log(data.toString());
            })
        })

        await sleep(500);
        i--;
    }

})();