# Class yii\mongodb\file\Upload

Inheritance | yii\mongodb\file\Upload » yii\base\BaseObject
Implements | yii\base\Configurable
Available since version | 2.1
Source Code | https://github.com/yiisoft/yii2-mongodb/blob/master/file/Upload.php

Upload represents the GridFS upload operation.

An `Upload` object is usually created by calling yii\mongodb\file\Collection::createUpload().

Note: instance of this class is 'single use' only. Do not attempt to use same `Upload` instance for multiple file upload.

Usage example:

    $document = Yii::$app->mongodb->getFileCollection()->createUpload()
        ->addContent('Part 1')
        ->addContent('Part 2')
        // ...
        ->complete();

## Public Properties

Hide inherited properties

Property | Type | Description | Defined By
--- | --- | --- | ---
$chunkCount | integer | File chunk counts. | yii\mongodb\file\Upload
$chunkSize | integer | Chunk size in bytes. | yii\mongodb\file\Upload
$collection | yii\mongodb\file\Collection | File collection to be used. | yii\mongodb\file\Upload
$document | array | Additional file document contents. | yii\mongodb\file\Upload
$filename | string | Filename to be used for file storage. | yii\mongodb\file\Upload
$length | integer | Total upload length in bytes. | yii\mongodb\file\Upload

## Public Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
__call() | Calls the named method which is not a class method. | yii\base\BaseObject
__construct() | Constructor. | yii\base\BaseObject
__destruct() | Destructor. | yii\mongodb\file\Upload
__get() | Returns the value of an object property. | yii\base\BaseObject
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\BaseObject
__set() | Sets value of an object property. | yii\base\BaseObject
__unset() | Sets an object property to null. | yii\base\BaseObject
addContent() | Adds string content to the upload. | yii\mongodb\file\Upload
addFile() | Adds a file content to the upload. | yii\mongodb\file\Upload
addStream() | Adds stream content to the upload. | yii\mongodb\file\Upload
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\BaseObject
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\BaseObject
cancel() | Cancels the upload. | yii\mongodb\file\Upload
className() | Returns the fully qualified name of this class. | yii\base\BaseObject
complete() | Completes upload. | yii\mongodb\file\Upload
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\BaseObject
hasProperty() | Returns a value indicating whether a property is defined. | yii\base\BaseObject
init() | Initializes the object. | yii\mongodb\file\Upload

## Property Details

$chunkCount public property

File chunk counts.

public integer $chunkCount = 0
$chunkSize public property

Chunk size in bytes.

public integer $chunkSize = 261120
$collection public property

File collection to be used.

public yii\mongodb\file\Collection $collection = null
$document public property

Additional file document contents. Common GridFS columns:

- metadata: array, additional data associated with the file.
- aliases: array, an array of aliases.
- contentType: string, content type to be stored with the file.

public array $document = []
$filename public property

Filename to be used for file storage.

public string $filename = null
$length public property

Total upload length in bytes.

public integer $length = 0

## Method Details

__destruct() public method

Destructor.

Makes sure abandoned upload is cancelled.

public void __destruct ( )

addContent() public method

Adds string content to the upload.

This method can invoked several times before complete() is called.

public $this addContent ( $content )
$content | string | Binary content.
return | $this | Self reference.

addFile() public method

Adds a file content to the upload.

This method can invoked several times before complete() is called.

public $this addFile ( $filename )
$filename | string | Source file name.
return | $this | Self reference.

addStream() public method

Adds stream content to the upload.

This method can invoked several times before complete() is called.

public $this addStream ( $stream )
$stream | resource | Data source stream.
return | $this | Self reference.

cancel() public method

Cancels the upload.

public void cancel ( )

complete() public method

Completes upload.

public array complete ( )
return | array | Saved document.

init() public method

Initializes the object.

This method is invoked at the end of the constructor after the object is initialized with the given configuration.

public void init ( )