@multipart/form
@multipart/form
is A Node.JS Class To Create Multipart/Form-Data Requests With Files and Fields.
yarn add @multipart/form
npm install @multipart/form
Table Of Contents
API
The package is available by importing its default class:
import Form from '@multipart/form'
class Form
The form class maintains an internal buffer with data that can be sent in a multipart/form-data
request. It can append fields and files, and when a file path is given, it will be read from the file system and its contents will be added to the form data.
Form
: Accumulates data in fields and returns the complete body.
Name | Type & Description |
---|---|
constructor | new (config: !FormConfig) => Form |
Creates a new form instance that maintains a buffer of key-value pairs and files separated by a boundary. | |
buffer | !Buffer |
The data to send. | |
data | string |
The data to send as utf-8 string. Concatenates the buffer data with \r\n and adds the final --{boundary}-- to the returned string.
|
|
addFile | (path: string, name: string, options?: !AddFileOptions) => void |
Reads and adds the file to the request buffer. | |
addSection | (key: string, value: (!Buffer | string)) => void |
Adds a key-value pair to the form. |
FormConfig
: Options for the constructor.
Name | Type | Description | Default |
---|---|---|---|
boundary | string | The hard-coded boundary for the requests. | u2KxIV5yF1y+xUspOQCCZopaVgeV6Jxihv35XQJmuTx8X3sh |
AddFileOptions
: Options for adding files.
Name | Type | Description | Default |
---|---|---|---|
type | string | The Content-Type description. | application/octet-stream |
noCache | boolean | Whether to not cache read files. | false |
filename | string | The filename property for Content-Disposition description. By default, will be same as the path argument. |
- |
import Form from '@multipart/form'
(async () => {
const form = new Form()
await form.addFile(`test/fixture/test.txt`, 'file')
form.addSection('hello', 'world')
console.log(form.data)
})()
--u2KxIV5yF1y+xUspOQCCZopaVgeV6Jxihv35XQJmuTx8X3sh
Content-Disposition: form-data; name="file"; filename="test/fixture/test.txt"
Content-Type: application/octet-stream
a test file
--u2KxIV5yF1y+xUspOQCCZopaVgeV6Jxihv35XQJmuTx8X3sh
Content-Disposition: form-data; name="hello"
world
--u2KxIV5yF1y+xUspOQCCZopaVgeV6Jxihv35XQJmuTx8X3sh--
Copyright & License
GNU Affero General Public License v3.0
![]() |
© Art Deco for Idio 2019 |
|
![]() |
Tech Nation Visa Sucks |
---|