Flask сервировка stati c папка с CORS - PullRequest
0 голосов
/ 23 января 2020

В моем приложении для внешнего интерфейса я пытаюсь получить доступ к файлу, который я обслуживаю, в папке * stati c, но у меня возникает проблема с CORS. Проблема, с которой я сталкиваюсь:

Access to XMLHttpRequest at 'http://127.0.0.1:5000/static_folder/apple.xml' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

В моем приложении Flask есть следующий набор

app = Flask(__name__, static_url_path='/static_folder', static_folder="static_folder")

Кажется, мне нужно добавить ' Access-Control-Allow-Origin 'заголовок моих ответов при возврате файлов. У Flask есть глобальный способ установить это?

Я пытался использовать flask_cors, но не удалось с

from flask_cors import CORS, cross_origin
app = Flask(__name__, static_url_path='/static_folder', static_folder="static_folder")
CORS(app)

Мне удалось получить что-то подобное, работающее с SimpleHTTPRequestHandler, установив для заголовков CORS значение

def end_headers (self):
        self.send_header('Access-Control-Allow-Origin', '*')
        SimpleHTTPRequestHandler.end_headers(self)

Но я бы хотел использовать flask для выполнения sh, а не запускать простой http-сервер.

1 Ответ

0 голосов
/ 25 января 2020

после cors (приложение) добавьте эти строки:

@app.after_request def after_request (response): response.headers.add ('Access-Control-Allow-Headers', 'Content-Type, Authorization ') response.headers.add (' Access-Control-Allow-Methods ',' GET, POST, PATCH, DELETE, OPTIONS ') вернуть ответ

...