public function fromS3($key, $expiration = null, $downloadAs = null)
    {
        $args = array();
        if (!empty($downloadAs)) {
            if (empty($expiration)) {
                throw new \RuntimeException("Unable to set download name on URL without expiration.");
            }
            $args['ResponseContentDisposition'] = 'attachment;filename='.$downloadAs;
        }

        return $this->getServiceLocator()->get('FzyCommon\Service\Aws\S3')->getObjectUrl($this->getServiceLocator()->get('FzyCommon\Service\Aws\S3\Config')->get('bucket'), $key, $expiration, $args);
    }