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())'); }