Skip to content

Instantly share code, notes, and snippets.

@holyshared
Created October 16, 2022 08:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save holyshared/0fba0f1fff7d42d7e529a7a02a8b8b93 to your computer and use it in GitHub Desktop.
Save holyshared/0fba0f1fff7d42d7e529a7a02a8b8b93 to your computer and use it in GitHub Desktop.
form-data for multipart/mixed
import fs from "fs";
import path from "path";
import FormData from 'form-data';
const main = async () => {
const file = fs.readFileSync(path.resolve(__dirname, '../../scripts/example.txt.zip'));
const form = new FormData();
form.append('data', file.toString('base64'), {
filename: 'example.txt.zip',
contentType: 'application/octet-stream; charset=utf-8',
header: {
'Content-Transfer-Encoding': 'binary'
}
});
form.append('username', 'john', {
contentType: 'text/plain'
});
form.append('password', 'pass', {
contentType: 'text/plain'
});
form.submit({
host: 'localhost',
port: '3000',
path: '/p',
headers: {
'Content-Type': 'multipart/mixed; boundary=' + form.getBoundary()
}
}, (err, res) => {
console.log(res.statusCode);
let c = ""
res.on('data', (chunk) => {
c += chunk
})
res.on('end', () => {
console.log(c)
})
});
}
main().then(() => {
console.log('done');
}).catch(err => {
console.log(err);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment