Esempio n. 1
0
 /**
  * Get an item from the storage service.
  *
  * @TODO Support streams
  *
  * @param  string $path
  * @param  array $options
  * @return string
  */
 public function fetchItem($path, $options = array())
 {
     $fullPath = $this->_getFullPath($path, $options);
     try {
         if (!empty($options[self::FETCH_STREAM])) {
             return $this->_s3->getObjectStream($fullPath, $options[self::FETCH_STREAM]);
         } else {
             return $this->_s3->getObject($fullPath);
         }
     } catch (Zend_Service_Amazon_S3_Exception $e) {
         throw new Zend_Cloud_StorageService_Exception('Error on fetch: ' . $e->getMessage(), $e->getCode(), $e);
     }
 }
Esempio n. 2
0
 /**
  * Get object using streaming and specific files
  *
  */
 public function testGetObjectStreamNamed()
 {
     $this->_amazon->createBucket($this->_bucket);
     $this->_amazon->putObject($this->_bucket . "/zftest", "testdata");
     $outfile = tempnam(sys_get_temp_dir(), "output");
     $response = $this->_amazon->getObjectStream($this->_bucket . "/zftest", $outfile);
     $this->assertTrue($response instanceof Response\Stream, 'The test did not return stream response');
     $this->assertTrue(is_resource($response->getStream()), 'Request does not contain stream!');
     $this->assertEquals($outfile, $response->getStreamName());
     $stream_read = stream_get_contents($response->getStream());
     $file_read = file_get_contents($outfile);
     $this->assertEquals("testdata", $stream_read, 'Downloaded stream does not seem to match!');
     $this->assertEquals("testdata", $file_read, 'Downloaded file does not seem to match!');
 }