org.apache.http.entity.mime.content

## Class ByteArrayBody

- java.lang.Object
- - org.apache.http.entity.mime.content.AbstractContentBody
  - - org.apache.http.entity.mime.content.ByteArrayBody

All Implemented Interfaces:
  ContentBody, ContentDescriptor

    public class ByteArrayBody
    extends AbstractContentBody

Binary body part backed by a byte array.

Since:
  4.1
See Also:
  `MultipartEntityBuilder`

### Constructor Summary

Constructors
Constructor and Description
`ByteArrayBody(byte[] data, org.apache.http.entity.ContentType contentType, String filename)`
`ByteArrayBody(byte[] data, String filename)` Creates a new ByteArrayBody.
`ByteArrayBody(byte[] data, String mimeType, String filename)` Deprecated. (4.3) use `ByteArrayBody(byte[], ContentType, String)` or `MultipartEntityBuilder`

### Method Summary

Methods
`String` `getCharset()` The body descriptors character set, defaulted appropriately for the MIME type.
`long` `getContentLength()` Returns the body descriptors content-length.
`String` `getFilename()`
`String` `getTransferEncoding()` Returns the body descriptors transfer encoding.
`void` `writeTo(OutputStream out)`

### Methods inherited from class org.apache.http.entity.mime.content.AbstractContentBody

`getContentType, getMediaType, getMimeType, getSubType`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ByteArrayBody

    @Deprecated
    public ByteArrayBody(byte[] data,
                            String mimeType,
                            String filename)

Deprecated. (4.3) use `ByteArrayBody(byte[], ContentType, String)` or `MultipartEntityBuilder`
Creates a new ByteArrayBody.

Parameters:
  `data` - The contents of the file contained in this part.
  `mimeType` - The MIME type of the file contained in this part.
  `filename` - The name of the file contained in this part.

#### ByteArrayBody

    public ByteArrayBody(byte[] data,
                 org.apache.http.entity.ContentType contentType,
                 String filename)

Since:
  4.3

#### ByteArrayBody

    public ByteArrayBody(byte[] data,
                 String filename)

Creates a new ByteArrayBody.

Parameters:
  `data` - The contents of the file contained in this part.
  `filename` - The name of the file contained in this part.

### Method Detail

#### getFilename

    public String getFilename()

#### writeTo

    public void writeTo(OutputStream out)
                 throws IOException

Throws:
  `IOException`

#### getCharset

    public String getCharset()

Description copied from interface: `ContentDescriptor`

The body descriptors character set, defaulted appropriately for the MIME type.

For `TEXT` types, this will be defaulted to `us-ascii`. For other types, when the charset parameter is missing this property will be null.

Specified by:
  `getCharset` in interface `ContentDescriptor`
Overrides:
  `getCharset` in class `AbstractContentBody`
Returns:
  Character set, which has been parsed from the content-type definition. Not null for `TEXT` types, when unset will be set to default `us-ascii`. For other types, when unset, null will be returned.

#### getTransferEncoding

    public String getTransferEncoding()

Description copied from interface: `ContentDescriptor`
Returns the body descriptors transfer encoding.

Returns:
  The transfer encoding. Must not be null, but "7bit", if no transfer-encoding was specified.

#### getContentLength

    public long getContentLength()

Description copied from interface: `ContentDescriptor`
Returns the body descriptors content-length.

Returns:
  Content length, if known, or -1, to indicate the absence of a content-length header.