目前我使用以下代码允许用户下载附加到couchdb文档的文件。我正在使用带有Django的couchdbkit。
def get_file(request, user_id):
user = User.objects.get(pk = user_id)
application = user.get_profile().application()
attachment_name = request.GET.get('name', None)
assert attachment_name
attachment = application.fetch_attachment(attachment_name, stream=False)
return HttpResponse(attachment, content_type=application._attachments[attachment_name]['content_type'])
这有效,但我担心机器上的内存使用情况。这种方法有效,还是大文件在传递给HttpResponse之前会转储到内存中?我使用了stream = True,但我不确定如何测试它。 couchdbkit上的文档至少可以说是稀疏的。我打算在整个应用程序中使用类似于此的东西,并希望第一次正确使用该方法。 :)