## com.baidubce.services.bos.model
Class PutObjectRequest

    java.lang.Object
      com.baidubce.model.AbstractBceRequest
          com.baidubce.services.bos.model.GenericBucketRequest
              com.baidubce.services.bos.model.GenericObjectRequest
                  com.baidubce.services.bos.model.PutObjectRequest

    public class PutObjectRequest

extends GenericObjectRequest

Uploads a new object to the specified Baidu Bos bucket. The PutObjectRequest optionally uploads object metadata and applies a canned access control policy to the new object.

Baidu Bos never stores partial objects; if during this call an exception wasn't thrown, the entire object was stored.

Constructor Summary
`PutObjectRequest(String bucketName, String key, File file)` Constructs a new PutObjectRequest object to upload a file to the specified bucket and key.
`PutObjectRequest(String bucketName, String key, File file, ObjectMetadata metadata)` Constructs a new PutObjectRequest object to upload a file to the specified bucket and key.
`PutObjectRequest(String bucketName, String key, InputStream inputStream)` Constructs a new PutObjectRequest object to upload a stream of data to the specified bucket and key.
`PutObjectRequest(String bucketName, String key, InputStream inputStream, ObjectMetadata metadata)` Constructs a new PutObjectRequest object to upload a stream of data to the specified bucket and key.

Method Summary
`File` `getFile()` Gets the path and name of the file containing the data to be uploaded to Baidu Bos.
`InputStream` `getInputStream()` Gets the input stream containing the data to be uploaded to Baidu Bos.
`ObjectMetadata` `getObjectMetadata()` Gets the optional metadata instructing Baidu Bos how to handle the uploaded data (e.g.
`void` `setFile(File file)` Sets the path and name of the file containing the data to be uploaded to Baidu Bos.
`void` `setInputStream(InputStream inputStream)` Sets the input stream containing the data to be uploaded to Baidu Bos.
`void` `setObjectMetadata(ObjectMetadata objectMetadata)` Sets the optional metadata instructing Baidu Bos how to handle the uploaded data (e.g.
`PutObjectRequest` `withBucketName(String bucketName)` Sets the name of the bucket where this request will upload a new object to.
`PutObjectRequest` `withFile(File file)` Sets the file containing the data to be uploaded to Baidu Bos.
`PutObjectRequest` `withInputStream(InputStream inputStream)` Sets the input stream containing the data to be uploaded to Baidu Bos.
`PutObjectRequest` `withKey(String key)` Sets the key under which to store the new object.
`PutObjectRequest` `withObjectMetadata(ObjectMetadata objectMetadata)` Sets the optional metadata instructing Baidu Bos how to handle the uploaded data (e.g.
`PutObjectRequest` `withRequestCredentials(BceCredentials credentials)`

Methods inherited from class com.baidubce.services.bos.model.GenericObjectRequest
`getKey, setKey`

Methods inherited from class com.baidubce.services.bos.model.GenericBucketRequest
`getBucketName, setBucketName`

Methods inherited from class com.baidubce.model.AbstractBceRequest
`getRequestCredentials, setRequestCredentials`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PutObjectRequest

    public PutObjectRequest(String bucketName,
                            String key,
                            File file)

  Constructs a new PutObjectRequest object to upload a file to the specified bucket and key. After constructing the request, users may optionally specify object metadata or a canned ACL as well.

  Parameters:
    `bucketName` - The name of an existing bucket to which the new object will be uploaded.
    `key` - The key under which to store the new object.
    `file` - The path of the file to upload to Baidu Bos.

### PutObjectRequest

    public PutObjectRequest(String bucketName,
                            String key,
                            File file,
                            ObjectMetadata metadata)

  Constructs a new PutObjectRequest object to upload a file to the specified bucket and key. After constructing the request, users may optionally specify object metadata or a canned ACL as well.

  Parameters:
    `bucketName` - The name of an existing bucket to which the new object will be uploaded.
    `key` - The key under which to store the new object.
    `file` - The path of the file to upload to Baidu Bos.
    `metadata` - The object metadata. At minimum this specifies the content length for the stream of data being uploaded.

### PutObjectRequest

    public PutObjectRequest(String bucketName,
                            String key,
                            InputStream inputStream)

  Constructs a new PutObjectRequest object to upload a stream of data to the specified bucket and key. After constructing the request, users may optionally specify object metadata or a canned ACL as well.

  Parameters:
    `bucketName` - The name of an existing bucket to which the new object will be uploaded.
    `key` - The key under which to store the new object.
    `inputStream` - The stream of data to upload to Baidu Bos.

### PutObjectRequest

    public PutObjectRequest(String bucketName,
                            String key,
                            InputStream inputStream,
                            ObjectMetadata metadata)

  Constructs a new PutObjectRequest object to upload a stream of data to the specified bucket and key. After constructing the request, users may optionally specify object metadata or a canned ACL as well.

  Parameters:
    `bucketName` - The name of an existing bucket to which the new object will be uploaded.
    `key` - The key under which to store the new object.
    `inputStream` - The stream of data to upload to Baidu Bos.
    `metadata` - The object metadata. At minimum this specifies the content length for the stream of data being uploaded.

Method Detail

### withRequestCredentials

    public PutObjectRequest withRequestCredentials(BceCredentials credentials)

  Specified by:
    `withRequestCredentials` in class `AbstractBceRequest`

### withBucketName

    public PutObjectRequest withBucketName(String bucketName)

  Sets the name of the bucket where this request will upload a new object to. Returns this object, enabling additional method calls to be chained together.

  Specified by:
    `withBucketName` in class `GenericBucketRequest`
  Parameters:
    `bucketName` - The name of an existing bucket where this request will upload a new object to.
  Returns:
    This PutObjectRequest, enabling additional method calls to be chained together.

### withKey

    public PutObjectRequest withKey(String key)

  Sets the key under which to store the new object. Returns this object, enabling additional method calls to be chained together.

  Specified by:
    `withKey` in class `GenericObjectRequest`
  Parameters:
    `key` - The key under which to store the new object.
  Returns:
    This PutObjectRequest, enabling additional method calls to be chained together.

### getFile

    public File getFile()

  Gets the path and name of the file containing the data to be uploaded to Baidu Bos. Either specify a file or an input stream containing the data to be uploaded to Baidu Bos; both cannot be specified.

  Returns:
    The path and name of the file containing the data to be uploaded to Baidu Bos.

### setFile

    public void setFile(File file)

  Sets the path and name of the file containing the data to be uploaded to Baidu Bos. Either specify a file or an input stream containing the data to be uploaded to Baidu Bos; both cannot be specified.

  Parameters:
    `file` - The path and name of the file containing the data to be uploaded to Baidu Bos.

### withFile

    public PutObjectRequest withFile(File file)

  Sets the file containing the data to be uploaded to Baidu Bos. Returns this PutObjectRequest, enabling additional method calls to be chained together.

  Either specify a file or an input stream containing the data to be uploaded to Baidu Bos; both cannot be specified.

  Parameters:
    `file` - The file containing the data to be uploaded to Baidu Bos.
  Returns:
    This PutObjectRequest, enabling additional method calls to be chained together.

### getObjectMetadata

    public ObjectMetadata getObjectMetadata()

  Gets the optional metadata instructing Baidu Bos how to handle the uploaded data (e.g. custom user metadata, hooks for specifying content type, etc.).

  If uploading from an input stream, always specify metadata with the content size set. Otherwise the contents of the input stream have to be buffered in memory before being sent to Baidu Bos. This can cause very negative performance impacts.

  Returns:
    The optional metadata instructing Baidu Bos how to handle the uploaded data (e.g. custom user metadata, hooks for specifying content type, etc.).

### setObjectMetadata

    public void setObjectMetadata(ObjectMetadata objectMetadata)

  Sets the optional metadata instructing Baidu Bos how to handle the uploaded data (e.g. custom user metadata, hooks for specifying content type, etc.).

  If uploading from an input stream, always specify metadata with the content size set. Otherwise the contents of the input stream have to be buffered in memory before being sent to Baidu Bos. This can cause very negative performance impacts.

  Parameters:
    `objectMetadata` - The optional metadata instructing Baidu Bos how to handle the uploaded data (e.g. custom user metadata, hooks for specifying content type, etc.).

### withObjectMetadata

    public PutObjectRequest withObjectMetadata(ObjectMetadata objectMetadata)

  Sets the optional metadata instructing Baidu Bos how to handle the uploaded data (e.g. custom user metadata, hooks for specifying content type, etc.). Returns this PutObjectRequest, enabling additional method calls to be chained together.

  If uploading from an input stream, always specify metadata with the content size set. Otherwise the contents of the input stream have to be buffered in memory before being sent to Baidu Bos. This can cause very negative performance impacts.

  Parameters:
    `objectMetadata` - The optional metadata instructing Baidu Bos how to handle the uploaded data (e.g. custom user metadata, hooks for specifying content type, etc.).
  Returns:
    This PutObjectRequest, enabling additional method calls to be chained together.

### getInputStream

    public InputStream getInputStream()

  Gets the input stream containing the data to be uploaded to Baidu Bos. The user of this request must either specify a file or an input stream containing the data to be uploaded to Baidu Bos; both cannot be specified.

  Returns:
    The input stream containing the data to be uploaded to Baidu Bos. Either specify a file or an input stream containing the data to be uploaded to Baidu Bos, not both.

### setInputStream

    public void setInputStream(InputStream inputStream)

  Sets the input stream containing the data to be uploaded to Baidu Bos. Either specify a file or an input stream containing the data to be uploaded to Baidu Bos; both cannot be specified.

  Parameters:
    `inputStream` - The input stream containing the data to be uploaded to Baidu Bos. Either specify a file or an input stream containing the data to be uploaded to Baidu Bos, not both.

### withInputStream

    public PutObjectRequest withInputStream(InputStream inputStream)

  Sets the input stream containing the data to be uploaded to Baidu Bos. Returns this PutObjectRequest, enabling additional method calls to be chained together.

  Either specify a file or an input stream containing the data to be uploaded to Baidu Bos; both cannot be specified.

  Parameters:
    `inputStream` - The InputStream containing the data to be uploaded to Baidu Bos.
  Returns:
    This PutObjectRequest, so that additional method calls can be chained together.

Copyright © 2016. All rights reserved.