3.10.6 Vistas de Medios
El texto original ha cambiado despues que la traduccion. Por favor ayundanos a reslover este differencia. Puedes:
Las vistas de medios te permiten enviar archivos binarios al usuario. Por ejemplo, quizá deseas tener un directorio de archivos fuera de la carpeta /webroot para prevenir que los usuarios tengan acceso directo a ellos. Puedes usar vistas Media para traer el archivo desde una carpeta especial dentro de /app/, pudiendo hacer autenticación antes de entregar el archivo al usuario.
Para usar vistas Media, necesitas decirle a tu controlador que use la clase MediaView en vez de la clase por defecto View. Después de esto, sólo pasa los parámetros adicionales para especificar dónde está ubicado tu archivo.
class EjemploController extends AppController {
function download () {
$this->view = 'Media';
$params = array(
'id' => 'ejemplo.zip',
'name' => 'ejemplo',
'download' => true,
'extension' => 'zip',
'path' => 'files' . DS
);
$this->set($params);
}
}
class EjemploController extends AppController {function download () {$this->view = 'Media';$params = array('id' => 'ejemplo.zip','name' => 'ejemplo','download' => true,'extension' => 'zip','path' => 'files' . DS);$this->set($params);}}
Aquí tenemos un ejemplo de una descarga de un archivo cuyo tipo MIME no está incluido en el array $mimeType de la clase MediaView.
function download () {
$this->view = 'Media';
$params = array(
'id' => 'example.docx',
'name' => 'example',
'extension' => 'docx',
'mimeType' => array('docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),
'path' => APP . 'files' . DS
);
$this->set($params);
}
function download () {$this->view = 'Media';$params = array('id' => 'example.docx','name' => 'example','extension' => 'docx','mimeType' => array('docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'),'path' => APP . 'files' . DS);$this->set($params);}
| Parámetros | Descripción |
|---|---|
| id | El ID es el nombre del archivo tal como está en el servidor, incluyendo su extensión. |
| name | El nombre (name) te permite especificar un nombre de archivo alternativo para ser enviado al usuario. Especifica el nombre sin la extensión del archivo. |
| download | Un valor booleano que indica si los encabezados deben forzar la descarga. |
| extension | La extensión del archivo. Esto se compara con una lista interna de tipos MIME aceptados. Si el tipo MIME especificado no está en la lista, el archivo no será descargado. |
| path | El nombre del archivo, incluyendo el separador del directorio final. La ruta (path es relativa a la carpeta app/. |
| mimeType | Un arreglo con tipos MIME adicionales que serán mezclados con la lista interna de tipos MIME aceptados. |


























