Welcome to the Cookbook

loading...

3.10.6 Media Views

The original text for this section has changed since it was translated. Please help resolve this difference. You can:

More information about translations

Media views lhe permitem enviar arquivos binários ao usuário. Por exemplo, você pode desejar ter um diretório de arquivos fora do webroot para prevenir usuários de usar links diretos para eles. Você pode usar Media view para puxar o arquivo de uma pasta especial dentro de /app/, pertimitindo a você realizar autenticação antes de entregar o arquivo ao usuário.

Para usar o Media view, você precisa dizer ao controller para usar a classe MediaView ao invés da classe View padrão. Depois disso, apenas passe parâmetros adicionais para especificar onde seu arquivo está localizado.

class ExampleController extends AppController {
    function download () {
        $this->view = 'Media';
        $params = array(
              'id' => 'example.zip',
              'name' => 'example',
              'download' => true,
              'extension' => 'zip',
              'path' => 'files' . DS
       );
       $this->set($params);
    }
}
  1. class ExampleController extends AppController {
  2. function download () {
  3. $this->view = 'Media';
  4. $params = array(
  5. 'id' => 'example.zip',
  6. 'name' => 'example',
  7. 'download' => true,
  8. 'extension' => 'zip',
  9. 'path' => 'files' . DS
  10. );
  11. $this->set($params);
  12. }
  13. }
ParâmetrosDescrição
idO ID é o nome do arquivo como ele se encontra no servidor de arquivo incluindo a extensão do arquivo.
nameO name lhe permite especificar um nome de arquivo alternativo para ser enviado ao usuário. Especifique o nome sem a extensão do arquivo.
downloadUm valor booleano indicando se headers devem ser enviados forçando o download.
extensionA extensão do arquivo. Isto é igualado a uma lista interna de tipos de mime aceitáveis. Se o tipo de mime especificado não está na lista, o arquivo não será baixado.
pathO nome da pasta, incluindo o separador final de diretório. O caminho pode ser absoluto ou relativo à pasta APP.
mimeTypeUm array com tipos de mime adicionais para serem mesclados com a lista interna MediaView de tipos de mime aceitáveis.
cacheUm valor booleano inteiro - Se definido como verdadeiro ele permitirá aos navegadores armazenar o arquivo em cache (o padrão para falso é não definir); de outro forma defína-o o número de segundos no futuro para quando o cache deve expirar.