问题描述
我有一个Python REST服务器,它能够使用Python TempFile下载和写入一个临时文件。 也就是说,在请求时,我在服务器的文件系统中有一个文件,但是它不是永久文件,因此客户端无法静态访问它(即通过http:// myserver / path-to-my-file)。我需要一种方法来访问端点,然后根据请求获取返回的文件。 (即http:// myserver / myendpoint / myrequestparameters)
如何通过HTTP工作?有可能吗?
(对于上下文,现在我正在使用base64编码和utf-8解码来提供编码为字符串的文件,但我的前端应用程序需要直接下载链接)
解决方法
我相信这里有dedicated response type for such stuff in django。假设send_file是您的端点:
from django.http import FileResponse
def send_file(response):
img = open('my_image_file.jpg','rb')
response = FileResponse(img)
return response