响应请求的媒体和图像时缺少 django cors 标头

Posted

技术标签:

【中文标题】响应请求的媒体和图像时缺少 django cors 标头【英文标题】:django cors headers missing in response for requested media and images 【发布时间】:2016-11-01 12:55:16 【问题描述】:

开发与 Ionic/Angularjs 前端相结合的 Django Rest Framework API,每个都在不同的域上运行。使用 django-cors-headers 处理 cors 问题。

我的问题在于提供用户上传的媒体。从开发 django 服务器提供的图像的响应标头中似乎不包含 cors 标头。

我需要这个来实现前端的一些基于画布的功能。

所有其他响应都包含正确的 cors 标头。媒体被豁免有理由吗?

谢谢。

【问题讨论】:

我也有同样的问题。你解决了吗? 【参考方案1】:

如果 nginx 一切正常,就可以编写中间件了:

class MyCorsMiddleware(object):

def process_response(self, request, response):
    response['Access-Control-Allow-Origin'] = '*'
    response['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS, PUT'
    return response

【讨论】:

以上是关于响应请求的媒体和图像时缺少 django cors 标头的主要内容,如果未能解决你的问题,请参考以下文章

数字海洋 NGINX 和 gunicorn 上的 CORS 标头访问控制缺少 django

CORS 缺少允许来源

可以在ajax请求的响应中获取django设置的cookies

*** API 响应中缺少 CORS 标头“Access-Control-Allow-Origin”[重复]

AngularJS 和 Laravel - 跨域 CORS / XHR 请求缺少(记住)cookie

即使使用 django-cors-headers 也得到 304 响应