包括Django fileupload的内容分解标头



我定义了一个接受文件的API端点(例如,使用Django Rest框架(。在Django中,可以在检查响应时使用内容处理标头。

https://docs.djangoproject.com/en/1.11/refef/request-response/#telling-the--browser-the-browser-to-treat-to-treat-the-the-the-response-as-as-a-a-file-athachment 在,如果我们要在测试端点时设置标头,则如何使用REST-FRAMEWORK的APITESTCASE包含此标头?

我到目前为止尝试的是,但似乎不接受标题。

class TestSaleViews(APITestCase):
    def test_sale_detail_view(self):
        f = create_named_temporary_file()
        files = {'archive': f}
        basename = os.path.basename(f.name)
        headers = {
            'content-disposition': 'attachment; filename={}'.format(basename),
        }
        response = self.client.post(url, files, format='multipart', **headers)

找到答案!

django在其FileUploadparser中为此标头具有固定的关键字。是:HTTP_CONTENT_DISPOSITION

所以我需要替换它et voila:工作!

headers = {
  'HTTP_CONTENT_DISPOSITION': 'attachment; filename={}'.format(basename),
}

https://github.com/encode/django-rest-framework/blob/master/rest_framework/parsers.py#l206

相关内容

  • 没有找到相关文章

最新更新