@thenorthmemory/multipart v1.0.0
Multipart
Simple and lite of the multipart/form-data
implementation. Split from wechatpay-axios-plugin
project for general usages.
Usage
npm i @thenorthmemory/multipart
import Multipart from '@thenorthmemory/multipart';
// buffer style(Synchronous)
(new Multipart())
.append('a', 1)
.append('b', '2')
.append('c', Buffer.from('31'))
.append('d', JSON.stringify({}), 'any.json')
.append('e', require('fs').readFileSync('/path/your/file.jpg'), 'file.jpg')
.getBuffer();
// stream style(Asynchronous)
(new Multipart())
.append('f', require('fs').createReadStream('/path/your/file2.jpg'), 'file2.jpg')
.pipe(require('fs').createWriteStream('./file3.jpg'));
API
- Multipart
- Usage
- API
- new Multipart()
- multipart.mimeTypes
- multipart.boundary
- multipart.data
- multipart.indices
- multipart.getBuffer() ⇒ Buffer
- multipart.getHeaders() ⇒ object.<string, string>
- multipart.appendMimeTypes(things) ⇒ this
- multipart.append(name, value, [filename]) ⇒ this
- multipart.formed(name, value, [filename]) ⇒ Array.<(Buffer|ReadStream)>
- multipart.set(name, value, [filename]) ⇒ this
- multipart.delete(name) ⇒ this
- multipart.get(name) ⇒ Buffer | ReadStream | undefined
- multipart.getAll(name) ⇒ Array.<(Buffer|ReadStream)>
- multipart.has(name) ⇒ boolean
- multipart.entries() ⇒ Iterator.<Array.<EntryTuple.<(string|undefined), (Buffer|ReadStream)>>>
- multipart.keys() ⇒ Iterator.<(string|undefined)>
- multipart.values() ⇒ Iterator.<(Buffer|ReadStream)>
- multipart.toString() ⇒ string
- multipart.flowing([end]) ⇒ Promise.<this>
- multipart.pipe(destination, [options]) ⇒ stream.Writable
- License
new Multipart()
Create a multipart/form-data
buffer container for the media(image/video) file uploading.
multipart.mimeTypes
Kind: instance property of Multipart
Access: protected
Properties
Name | Type | Description |
---|---|---|
mimeTypes | object.<string, string> | Built-in mime-type mapping |
multipart.boundary
Kind: instance property of Multipart
Read only: true
Properties
Name | Type | Description |
---|---|---|
boundary | Buffer | The boundary buffer. |
multipart.data
Kind: instance property of Multipart
Access: protected
Properties
Name | Type | Description |
---|---|---|
data | Array.<(Buffer|ReadStream)> | The Multipart's instance data storage |
multipart.indices
Kind: instance property of Multipart
Access: protected
Properties
Name | Type | Description |
---|---|---|
indices | Array.<IndexTuple.<(string|undefined), number>> | The entities' value indices whose were in data |
multipart.getBuffer() ⇒ Buffer
To retrieve the Miltipart#data buffer
Kind: instance method of Multipart
Returns: Buffer - - The payload buffer
multipart.getHeaders() ⇒ object.<string, string>
To retrieve the Content-Type
multipart/form-data header
Kind: instance method of Multipart
Returns: object.<string, string> - - The Content-Type
header With boundary
multipart.appendMimeTypes(things) ⇒ this
Append a customized Multipart#mimeType
Kind: instance method of Multipart
Returns: this - - The Multipart
class instance self
Param | Type | Description |
---|---|---|
things | object.<string, string> | The mime-type |
Example
.appendMimeTypes({p12: 'application/x-pkcs12'})
.appendMimeTypes({txt: 'text/plain'})
multipart.append(name, value, filename) ⇒ this
Append data wrapped by boundary
Kind: instance method of Multipart
Returns: this - - The Multipart
class instance self
Param | Type | Description |
---|---|---|
name | string | The field name |
value | string | Buffer | ReadStream | The value |
filename | string | Optional filename, when provided, then append the Content-Type after of the Content-Disposition |
multipart.formed(name, value, filename) ⇒ Array.<(Buffer|ReadStream)>
Formed a named value, a filename reported to the server, when a Buffer or FileStream is passed as the second parameter.
Kind: instance method of Multipart
Returns: Array.<(Buffer|ReadStream)> - - The part of data
Param | Type | Description |
---|---|---|
name | string | The field name |
value | string | Buffer | ReadStream | The value |
filename | string | Optional filename, when provided, then append the Content-Type after of the Content-Disposition |
multipart.set(name, value, filename) ⇒ this
Sets a new value for an existing key inside a data instance, or adds the key/value if it does not already exist.
Kind: instance method of Multipart
Returns: this - - The Multipart instance
Param | Type | Description |
---|---|---|
name | string | The field name |
value | string | Buffer | ReadStream | The value |
filename | string | Optional filename, when provided, then append the Content-Type after of the Content-Disposition |
multipart.delete(name) ⇒ this
Deletes a key and its value(s) from a data instance
Kind: instance method of Multipart
Returns: this - - The Multipart instance
Param | Type | Description |
---|---|---|
name | string | The field name |
multipart.get(name) ⇒ Buffer | ReadStream | undefined
Returns the first value associated with a given key from within a data instance
Kind: instance method of Multipart
Returns: Buffer | ReadStream | undefined - value - The value, undefined means none named key exists
Param | Type | Description |
---|---|---|
name | string | The field name |
multipart.getAll(name) ⇒ Array.<(Buffer|ReadStream)>
Returns all values associated with a given key from within a data instance
Kind: instance method of Multipart
Returns: Array.<(Buffer|ReadStream)> - value(s) - The value(s)
Param | Type | Description |
---|---|---|
name | string | The field name |
multipart.has(name) ⇒ boolean
Returns a boolean stating whether a data instance contains a certain key.
Kind: instance method of Multipart
Returns: boolean - - True for contains
Param | Type | Description |
---|---|---|
name | string | The field name |
multipart.entries() ⇒ Iterator.<Array.<EntryTuple.<(string|undefined), (Buffer|ReadStream)>>>
To go through all key/value pairs contained in this data instance
Kind: instance method of Multipart
Returns: Iterator.<Array.<EntryTuple.<(string|undefined), (Buffer|ReadStream)>>> - - An Array Iterator key/value pairs.
multipart.keys() ⇒ Iterator.<(string|undefined)>
To go through all keys contained in data instance
Kind: instance method of Multipart
Returns: Iterator.<(string|undefined)> - - An Array Iterator key pairs.
multipart.values() ⇒ Iterator.<(Buffer|ReadStream)>
To go through all values contained in data instance
Kind: instance method of Multipart
Returns: Iterator.<(Buffer|ReadStream)> - - An Array Iterator value pairs.
multipart.toString() ⇒ string
Kind: instance method of Multipart
Returns: string - - FormData string
multipart.flowing(end) ⇒ Promise.<this>
Pushing data into the readable BufferList
Kind: instance method of Multipart
Returns: Promise.<this> - - The Multipart instance
Param | Type | Default | Description |
---|---|---|---|
end | boolean | true | End the writer when the reader ends. Default: true . Available {@since v0.8.0} |
multipart.pipe(destination, options) ⇒ stream.Writable
Attaches a Writable stream to the Multipart instance
License
1 year ago