Я сохраняю свой файл в base64 в базе данных, а затем пытаюсь отобразить его, используя представление Django.
file_obj = AttachmentData.objects.filter(id=file_id)
file_data = base64.b64decode(file_obj.attachment_file)
bytes_out = BytesIO()
bytes_out.write(file_obj)
response = HttpResponse(string_out.getvalue(),content_type=email_file_obj.mime_type)
response["Content-Disposition"] = "attachment; filename={}".format(name)
return response
Этот код работает нормально, но если файл большой, тогда мне нужно использовать StreamingHttpResponse или FileResponse.Проблема в том, что эти ответы нуждаются в объекте файла в качестве параметра.Чтобы создать файл, мне нужно сохранить его, который мне не нужен, так как он будет занимать мое дисковое пространство.
temp_file_obj = open(file_obj.file_name, 'wb')
temp_file_obj.write(file_data)
temp_file_obj.close()
response = FileResponse(open(file_obj.file_name, 'rb'), content_type=email_file_obj.mime_type)
Мне нужно решение, чтобы я отправлял файл без сохранения файла на диске.