Cuando solicitud del cliente para un archivo, que utiliza este código para enviarlo:¿Cómo enviar un archivo al navegador para descargarlo?
public static Result download(String file) {
File file = getRealFile(file);
return Ok(file);
}
pero he encontrado el navegador no descargarlo, pero mostrar su contenido en su lugar. El encabezado de respuesta:
Content-Type text/plain
Transfer-Encoding chunked
¿Cuál es la forma correcta de enviar un archivo?
actualización
respuesta de por Razvi, encontré una respuesta que parece bueno para esta pregunta: https://stackoverflow.com/a/1074925/342235
Pero, ¿realmente tiene que configurar tantas cabeceras?
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$filepath");
header("Content-Type: mime/type");
header("Content-Transfer-Encoding: binary");
// UPDATE: Add the below line to show file size during download.
header('Content-Length: ' . filesize($filepath));
pensé play2 tenían algún método conveniente de hacer esto, mala suerte :) – Freewind
he encontrado otra manera de hacer esto, no lo hace requiere establecer explícitamente el encabezado. :) – Razvi
El 'renderBinary' es solo para play1 :( – Freewind