我正在使用Django REST框架提供一个图像。不幸的是,它会下载而不是显示。我想我必须设置头部Content-Disposition = 'inline'
。我如何在View
或Renderer
中做到这一点?
class ImageRenderer(renderers.BaseRenderer):
media_type = 'image/*'
format = '*'
charset = None
render_style = 'binary'
def render(self, data, media_type=None, renderer_context=None):
return data
class ImageView(APIView):
renderer_classes = (ImageRenderer, )
def get(self, request, format=None):
image=MyImage.objects.get(id=1)
image_file = image.thumbnail_png.file
return Response(image)
字符串
2条答案
按热度按时间cmssoen21#
根据Django文档中的这个页面,你可以这样设置
Content-Disposition
头:字符串
6bc51xsx2#
Django 4.2包含了一个
django.utils.http.content_disposition_header()
来为你处理头文件的编码和格式。参见文档。