/** * @test */ public function getMediaTypeReturnsMediaTypeBasedOnFileExtension() { $resource = new \TYPO3\Flow\Resource\Resource(); $resource->setFilename('file.jpg'); $this->assertSame('image/jpeg', $resource->getMediaType()); $resource = new \TYPO3\Flow\Resource\Resource(); $resource->setFilename('file.zip'); $this->assertSame('application/zip', $resource->getMediaType()); $resource = new \TYPO3\Flow\Resource\Resource(); $resource->setFilename('file.someunknownextension'); $this->assertSame('application/octet-stream', $resource->getMediaType()); }
/** * @param \_OurBrand_\Quiz\Media\Domain\Model\ImageResource $image * @param array $processingInstructions * @return \_OurBrand_\Quiz\Media\Domain\Model\ImageResource */ public function transformImage(\_OurBrand_\Quiz\Domain\Model\ImageResource $image, array $processingInstructions) { if (is_a($image->getOriginalResource(), '\\TYPO3\\Flow\\Resource\\Resource')) { $uniqueHash = sha1($image->getOriginalResource()->getResourcePointer()->getHash() . '|' . serialize($processingInstructions)); if (!file_exists('resource://' . $uniqueHash)) { $imagine = $this->objectManager->get('Imagine\\Image\\ImagineInterface'); $imagineImage = $imagine->open('resource://' . $image->getOriginalResource()->getResourcePointer()->getHash()); $imagineImage = $this->applyProcessingInstructions($imagineImage, $processingInstructions); file_put_contents('resource://' . $uniqueHash, $imagineImage->get($image->getFileExtension(), array('quality' => 90))); } $resource = new \TYPO3\Flow\Resource\Resource(); $resource->setFilename($image->getOriginalResource()->getFilename()); $resource->setResourcePointer(new \TYPO3\Flow\Resource\ResourcePointer($uniqueHash)); return $resource; } }
/** * @return \_OurBrand_\Quiz\Domain\Model\ImageResource */ public function copy() { $newImage = new ImageResource(); if (is_object($this->getOriginalResource())) { $resource = new \TYPO3\Flow\Resource\Resource(); $resource->setFilename($this->getOriginalResource()->getFilename()); $resource->setResourcePointer($this->getOriginalResource()->getResourcePointer()); $newImage->setOriginalResource($resource); } return $newImage; }
/** * Creates a resource object from a given hash and filename. The according * resource pointer is fetched automatically. * * @param string $resourceHash * @param string $originalFilename * @return \TYPO3\Flow\Resource\Resource */ protected function createResourceFromHashAndFilename($resourceHash, $originalFilename) { $resource = new \TYPO3\Flow\Resource\Resource(); $resource->setFilename($originalFilename); $resourcePointer = $this->getResourcePointerForHash($resourceHash); $resource->setResourcePointer($resourcePointer); return $resource; }
/** * @return \_OurBrand_\Quiz\Domain\Model\FileResource */ public function copy() { $newFile = new FileResource(); $resource = new \TYPO3\Flow\Resource\Resource(); $resource->setFilename($this->getOriginalResource()->getFilename()); $resource->setResourcePointer($this->getOriginalResource()->getResourcePointer()); $newFile->setOriginalResource($resource); return $newFile; }