python - Django 单例文件 API
问题描述
我正在尝试创建一种“缓存”,其中 API 将文件上传到缓存,并且每当上传新文件时,它将替换缓存中的当前文件。一次只能保存一个文件,我可以在需要时清除缓存。我不确定如何实现通过 API 上传到的单例模型。任何指针表示赞赏。
解决方案
例如,如果您使用 redis 进行缓存。它可以如下:
import redis
from django.http import FileResponse
r = redis.StrictRedis()
CACHING_FILE_KEY = 'something like this'
CACHING_FILE_NAME_KEY = 'something like that'
def upload(request):
file = request.FILES["file"]
filename = file.name
content = b"".join(i for i in file.chunks())
r.set(CACHING_FILE_KEY, content)
r.set(CACHING_FILE_NAME_KEY, filename)
return HttpResponse('ok')
def download(request):
content = r.get(CACHING_FILE_KEY)
filename = r.get(CACHING_FILE_NAME_KEY)
response = FileResponse(content)
response["Content-Type"] = "text/plain"
response["Content-Length"] = len(content)
response["Content-Disposition"] = f'attachment; filename={filename!r}'
return response
推荐阅读
- junos-automation - textfsm 使用 junos 设置策略解析多行
- postgresql - 如何在 Kubernetes 集群中将 Openkm 与 postgres 集成
- elixir - 寻找更好的方法来运行 elixir 代码
- html - 如何使用 Visual Basic.NET 和 ASP.NET MVC 创建下拉列表并检索所选项目的值?
- python - 2800 次迭代后的 Python IndexError
- html - 将 JS 依赖项构建到 html 文件中
- c++ - 有条件地覆盖模板化的类成员变量
- .net - 无法安装 PayPalCheckoutSDK Nuget 包
- pytorch - 为 PyTorch 创建离线 PDF 文档时出错
- java - JAVA中等效的函数fsockopen