RestAPI не удалось загрузить файл, отправленный из Django API клиенту sveltekit — Фатальная ошибка при чтении файла изображения PNG

#javascript #django #django-rest-framework #svelte

Вопрос:

У меня есть Django Get APIView, который возвращает файловый ответ с данными изображения png. Когда он загружается на стороне клиента sveltekit, его не читают. Он жалуется, что это не файл png. Не знаю, в чем дело. Вот код сервера:

 from django.http import FileResponse, HttpResponse
        import mimetypes
        # from django.core.files import File
        mime_type, _ = mimetypes.guess_type('qrcode.png')
        response = HttpResponse(open('qrcode.png', 'rb'), content_type=mime_type)
        # response = FileResponse(open('qrcode.png', 'rb'), content_type=mime_type)
        # response = HttpResponse(open('qrcode.png', 'rb'))
        # response = HttpResponse(open('qrcode.png', 'rb'), content_type='application/png')
        # response = HttpResponse(FileWrapper(img), content_type='application/png')
        response['Content-Disposition'] = 'attachment; filename=qrcode.png'
        return response
 

Я прокомментировал все возможности, которые я пробовал.
Теперь вот код на стороне клиента:

 if (res.status == 200){
        qrimage = await res.data;
        console.log(typeof(qrimage));
        // const blob = new Blob(qrimage);
        // let url = window.URL.createObjectURL(blob);
        // let url = window.URL.createObjectURL(qrimage);
        let a = document.createElement("a");
        // console.log(url);
        a.href = 'data:image/png;' qrimage;
        a.target = '_blank';
        a.download = 'qrcode.png';
        a.click();
        // });
    }
 

Спасибо вам за помощь и комментарии.