Me preguntaba si había una manera de codificar el contenido de un archivo MP3 en línea (en este ejemplo de un servidor Amazon S3) y devolverlo como Django HttpResponse.

Nota: no quiero usar HttpResponseRedirect, no quiero devolver la URL de Amazon y tener que permitir el acceso público en mis servidores S3. Esto sería un gran riesgo de seguridad. Me gustaría que mi servidor Django actúe como una especie de 'intermediario' y sirva el contenido de la transmisión de audio al usuario sin que el usuario interactúe con el servidor S3.

Gracias de antemano por su ayuda.

1
BigBerger 2 sep. 2014 a las 00:54

2 respuestas

La mejor respuesta

No lo he probado personalmente, pero probablemente puedas obtener el archivo mp3 a través del backend, enviar los datos a un HttpResponse y configurar streaming = True para que genere el archivo correctamente.

https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpResponse.streaming

O el objeto que hace el trabajo (como lo menciona Brian)

https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.StreamingHttpResponse

2
Audrey-Rose 1 sep. 2014 a las 21:39

Esta no es una buena idea, para servir archivos estáticos con Django HttpResponse.
¿Por qué no configura el proxy Nginx? Comprueba esto: https://coderwall.com/p/rlguog

0
power 1 sep. 2014 a las 22:19