我有这样的端点,它返回一个带有 csv 的文件:
# POST /export/
@asyncio.coroutine
def export(request):
post = yield from request.post()
if not post.get('passwd', None) == 'topsecret':
return web.Response(status=403)
csv = data.encode()
resp = web.StreamResponse(headers=aiohttp.MultiDict({
'CONTENT-DISPOSITION': 'attachment; filename="%d.csv"' % int(time.time())}))
resp.content_type = 'text/csv'
resp.content_length = len(csv)
yield from resp.prepare(request)
resp.write(csv)
return resp
我的问题是下一个:是否可以以某种方式自动设置标题?正如文档所说,aiohttp 具有BodyPartWriter
具有set_content_disposition
方法的类。但是,据我了解,它只能与客户端 API 一起使用(或者至少,只有客户端 API 的示例)。那么,是否可以BodyPartWriter
与Response
对象一起使用?