Проблема с загрузкой файла в DRF + Angular - PullRequest
0 голосов
/ 25 октября 2018

Я делаю проект на DRF + Angular.В настоящее время на localhost я могу скачать файл с действием:

    @action(methods=['get'], detail=True)
    def download(self, *args, **kwargs):
        instance = self.get_object()
        file_handle = instance.file.open()
        response = FileResponse(file_handle.read(), content_type='application/file')
        response['Content-Length'] = instance.file.size
        response['Content-Disposition'] = f'attachment; filename="{instance.file.name}"'    
        file_handle.close()
        return response

Он работает на localhost, но когда front-end пытается получить тот же файл под тем же URL-адресом на сервере - я получаю перенаправление на шаблон DRFс HTTP 401 Unauthorized.Но я уже ввел свои учетные данные.Что не так?

1 Ответ

0 голосов
/ 25 октября 2018

Я думаю, что проблему с происхождением внешнего интерфейса вы можете прочитать о ней больше здесь

Также в django вы можете использовать django-cors-headers для ее решения. Iне могу быть уверен, так как вы не предоставили полную информацию о конфигурации вашего веб-сервера

Проверьте также заголовки ответа Добавляете ли вы Принять с типом файла ??

'Content-Description: File Transfer'
'Content-Type: application/octet-stream'
'Content-Disposition: attachment; filename="'.basename($file).'"'
'Content-Length: ' . filesize($file)
'Pragma: public'
'Cache-Control: must-revalidate'
'Expires: 0'
'Accept: <MIME_type>/*'

Проверьте это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...