Загрузка изображения в Firebase с помощью Django

У меня есть Django rest API, в котором есть API для получения изображения из formdata.

from django.shortcuts import render

from django.http.response import JsonResponse
from rest_framework.parsers import JSONParser 
from rest_framework import status


from django.core.files.storage import default_storage
from django.core.files.base import ContentFile
from django.conf import settings
import os
import io

from rest_framework.decorators import api_view



import firebase_admin
from firebase_admin import credentials, firestore, storage

cred = credentials.Certificate("JSON FILE PATH")
firebase_admin.initialize_app(cred,{'storageBucket': 'BUCKET URL'})



@api_view(['GET','POST'])
def login(request):
    if request.method == 'POST':
        data = request.data
        if(type(data)!=dict):
            data=data.dict()
        file_obj=data['image']
        fileName=file_obj.name
        blob=bucket.blob(fileName)
        blob.upload_from_file(file_obj.file)
        blob.make_public()

        print("File url", blob.public_url)

        return JsonResponse({'username':'Testing post response'})
    
    elif request.method == 'GET':
        return JsonResponse({'username':'Testing get response'})

Теперь, когда я отправляю изображение в formdata, оно загружается в firebase, но не в формате изображения, вместо этого оно загружается как application/octet-stream type и изображение не отображается. может кто-нибудь помочь мне с этим?

измените эту строку

blob.upload_from_file(file_obj.file)

**to**

blob.upload_from_file(file_obj, content_type = file_obj.content_type)
Вернуться на верх