На бэкенде использую Django + DRF. Сервер запускаю по команде python3 manage.py runserver
Ubuntu 20.04.1 LTS
На фронте React 17.0.1
Отправляю на сервер POST запрос с помощью axios. На сервере во вьюхе следующий код, самый простой:
fd = open(pathFile, 'xb')
fd.close()
return Response(anyData)
Замечу, что изначально в директории файла нет. При выполнении кода он создаётся пустой как и положено. Но именно в момент отработки функции open происходит перезагрузка страницы в браузере как будто нажали F5.
Второе моё наблюдение.
Если использовать:
fd = open(pathFile, 'wb')
fd.write(binaryData)
fd.close()
return Response(anyData)
Если файла в директории нет, то код отрабатывается как надо, файл создаётся с содержимым и страница не перезагружается. Но если файл уже существует, то происходит перезагрузка страницы но при этом содержимое файла перезаписывается. Иными словами вьюха отрабатывается полностью.
Никаких исключений и ошибок нет.
Также пробовал данные манипуляции через os.open. Поведение аналогичное.
Не могу понять почему так происходит. Может сервер в момент работы с файлами отправляет какие-то заголовки на фронт по которым страница перезагружается? Но как тогда отследить их в браузере если страница перезагружается. Как диагностировать проблему? Или есть готовое решение?