Skip to content
This repository has been archived by the owner on Apr 8, 2024. It is now read-only.

readmeio/formdata-to-string

Repository files navigation

formdata-to-string

Transform a FormData instance into a raw string.

Build

Installation

npm install --save formdata-to-string

Usage

This library is built up of internal methods from within Node's internal fetch library, undici for transforming a FormData instance into something that can be supplied in a fetch request. The purpose of this is to silo the conversion and stream reading aspect of that process so that output can be used in other methods (eg. unit testing, code snippet generation, etc.).

import formDataToString from 'formdata-to-string';
// const { default: formDataToString } = require('formdata-to-string');

const form = new FormData();
form.append('dog', 'buster');
form.append('age', '18');

console.log(await formDataToString(form));
------formdata-undici-089527285518
Content-Disposition: form-data; name="dog"

buster
------formdata-undici-089527285518
Content-Disposition: form-data; name="age"

18
------formdata-undici-089527285518--

It also supports File and Blob objects that can be supplied to the FormData API:

const form = new FormData();

const dataURL = 'data:image/png;name=owlbert.png;base64,iVBORw0KGgo...';
form.append('image', new Blob([dataURL], { type: 'image/png' }), 'owlbert.png');

console.log(await formDataToString(form));
------formdata-undici-075655755345
Content-Disposition: form-data; name="image"; filename="owlbert.png"
Content-Type: image/png

data:image/png;name=owlbert.png;base64,iVBORw0KGgo...
------formdata-undici-075655755345--