从互联网下载文件并使用Django提供给网站,而不会暴露网址

时间:2018-04-17 18:13:50

标签: python django

我正在使用一些URL获取请求下载音频文件。我无法公开URL,因为它包含API密钥。将此文件提供给网站的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

在下载文件的位置创建一个视图,然后在对前端的响应中回送该文件。

Here是Django文档,向您展示如何使用生成器将文件作为响应进行流式处理。

import requests
from django.http import StreamingHttpResponse


def stream_audio(request):
    file_url = "your.url.com"
    r = requests.get(file_url, stream=True)
    response = StreamingHttpResponse(streaming_content=r, content_type='audio/mpeg')
    response['Content-Disposition'] = 'attachment; filename="somefilename.mp3"'
    return response

这样您就不会公开API密钥,但可以向用户发送相同的信息。