Exemplo n.º 1
0
 /**
  * Send a request to Amazon S3 to initiate a multipart upload
  * 
  * @param string $bucket
  * @param string $key
  * @param array $options
  * @return string
  */
 public function createMultipart($bucket, $key, array $options = array())
 {
     $response = $this->s3->createMultipartUpload($options + array('Bucket' => $bucket, 'Key' => $key));
     $multipart_id = $response->getPath('UploadId');
     $this->key_storage->put($multipart_id, array($bucket, $key));
     return $multipart_id;
 }
Exemplo n.º 2
0
 /**
  * @depends testPutObjectsWithUtf8Keys
  */
 public function testMultipartUploads()
 {
     $this->log('Initiating an upload');
     $result = $this->client->createMultipartUpload(array('Bucket' => $this->bucket, 'Key' => 'big', 'Metadata' => array('foo' => 'bar')));
     $this->assertNotEmpty($result['UploadId']);
     $this->assertNotEmpty($result['Key']);
     $this->assertNotEmpty($result['Bucket']);
     $uploadId = $result['UploadId'];
     sleep(1);
     $this->log('Getting uploads');
     $command = $this->client->getCommand('ListMultipartUploads', array('Bucket' => $this->bucket, 'Key' => 'big', 'UploadId' => $uploadId));
     $result = $command->execute();
     $this->assertEquals($this->bucket, $result['Bucket']);
     $this->assertInternalType('array', $result['Uploads']);
     $this->assertSame(false, $result['IsTruncated']);
     $this->log('Aborting the upload');
     $command = $this->client->getCommand('AbortMultipartUpload', array('Bucket' => $this->bucket, 'Key' => 'big', 'UploadId' => $uploadId));
     $result = $command->execute();
     $this->assertEquals(array('RequestId'), array_keys($result->toArray()));
 }
Exemplo n.º 3
0
 /**
  * createMultipartUpload
  *
  * @param array $params
  *
  * @return \Guzzle\Service\Resource\Model
  */
 public function createMultipartUpload(array $params = array())
 {
     $params['Bucket'] = $this->name;
     return $this->client->createMultipartUpload($params);
 }