Ejemplo n.º 1
0
 public function store($file, $id)
 {
     $blobOpts = new CreateBlobOptions();
     $blobOpts->setContentType($file->getMimeType());
     $blobOpts->setCacheControl('max-age=315360000');
     try {
         $img = new \Imagick($file->getRealPath());
         $this->blobRestProxy->createBlockBlob($this->container, $id, $img->getImagesBlob(), $blobOpts);
         $img->coalesceImages();
         foreach ($img as $frame) {
             $frame->thumbnailImage(180, 180);
             $frame->setImagePage(180, 180, 0, 0);
         }
         $this->blobRestProxy->createBlockBlob($this->container, $id . '.t', $img->getImagesBlob(), $blobOpts);
     } catch (\Exception $e) {
         return $e;
     }
     return null;
 }
 public function pn_blob_cache_set($key, $data, $expire, $headers)
 {
     $options = new CreateBlobOptions();
     //Set metadata and content-type for blob if header array was provided
     if ($this->prepare_headers($headers)) {
         if (isset($this->content_type)) {
             $options->setBlobContentType($this->content_type);
         }
         $options->setCacheControl("max-age=" . $expire);
         $options->setMetadata(array('Projectnamicacheduration' => $expire, 'Headers' => $this->headers_as_json));
     } else {
         $options->setMetadata(array('Projectnamicacheduration' => $expire));
     }
     try {
         //Upload blob
         $this->blob_service->createBlockBlob($this->container, $key, $data, $options);
         return true;
     } catch (ServiceException $e) {
         $this->pn_handle_exception($e);
     }
 }
 /**
  * @covers WindowsAzure\Blob\Models\CreateBlobOptions::setCacheControl
  * @covers WindowsAzure\Blob\Models\CreateBlobOptions::getCacheControl
  */
 public function testSetCacheControl()
 {
     // Setup
     $expected = '0x8CAFB82EFF70C46';
     $options = new CreateBlobOptions();
     $options->setCacheControl($expected);
     // Test
     $options->setCacheControl($expected);
     // Assert
     $this->assertEquals($expected, $options->getCacheControl());
 }
 /**
  * @covers WindowsAzure\Blob\BlobRestProxy::createPageBlob
  * @covers WindowsAzure\Blob\BlobRestProxy::getBlob
  */
 public function testGetPageBlobWorks()
 {
     // Act
     $opts = new CreateBlobOptions();
     $opts->setBlobCacheControl('test');
     $opts->setBlobContentEncoding('UTF-8');
     $opts->setBlobContentLanguage('en-us');
     // $opts->setBlobContentMD5('1234');
     $opts->setBlobContentType('text/plain');
     $opts->setCacheControl('test');
     $opts->setContentEncoding('UTF-8');
     // $opts->setContentMD5('1234');
     $opts->setContentType('text/plain');
     $this->restProxy->createPageBlob(self::$_test_container_for_blobs, 'test', 4096, $opts);
     $result = $this->restProxy->getBlob(self::$_test_container_for_blobs, 'test');
     // Assert
     $this->assertNotNull($result, '$result');
     $this->assertNotNull($result->getMetadata(), '$result->getMetadata()');
     $this->assertEquals(0, count($result->getMetadata()), 'count($result->getMetadata())');
     $props = $result->getProperties();
     $this->assertEquals('test', $props->getCacheControl(), '$props->getCacheControl()');
     $this->assertEquals('UTF-8', $props->getContentEncoding(), '$props->getContentEncoding()');
     $this->assertEquals('en-us', $props->getContentLanguage(), '$props->getContentLanguage()');
     $this->assertEquals('text/plain', $props->getContentType(), '$props->getContentType()');
     $this->assertEquals(4096, $props->getContentLength(), '$props->getContentLength()');
     $this->assertNotNull($props->getETag(), '$props->getETag()');
     $this->assertNull($props->getContentMD5(), '$props->getContentMD5()');
     $this->assertNotNull($props->getLastModified(), '$props->getLastModified()');
     $this->assertEquals('PageBlob', $props->getBlobType(), '$props->getBlobType()');
     $this->assertEquals('unlocked', $props->getLeaseStatus(), '$props->getLeaseStatus()');
     $this->assertEquals(0, $props->getSequenceNumber(), '$props->getSequenceNumber()');
     $this->assertEquals(4096, strlen(stream_get_contents($result->getContentStream())), 'strlen($result->getContentStream())');
 }