2

I need to get a image from django imagefield and convert it to base64 file and upload that converted file in private s3 bucket. And while I getting the image from the s3 bucket I need to get that base64 file and send it to the forntend(reactjs).

Basically I need to convert the image to base64 file, I checked on the internet and Iam not sure where to use that code correctly. Can anyone please suggest me to do that or is any clear documentation available to use as step by step.

Here is my model, views and seriailizers

class Organisation(models.Model):
    """
    Organisation model
    """
    org_id = models.AutoField(unique=True, primary_key=True)
    org_name = models.CharField(max_length=100)
    org_code = models.CharField(max_length=20)
    org_mail_id = models.EmailField(max_length=100)
    org_phone_number = models.CharField(max_length=20)
    org_address = models.JSONField(max_length=500, null=True)
    product = models.ManyToManyField(Product, related_name='products')
    org_logo = models.ImageField(upload_to=upload_org_logo, null=True, blank=True,)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)


    def remove_on_image_update(self):
        try:
            # is the object in the database yet?
            obj = Organisation.objects.get(org_id=self.org_id)
        except Organisation.DoesNotExist:
            # object is not in db, nothing to worry about
            return
        # is the save due to an update of the actual image file?
        if obj.org_logo and self.org_logo and obj.org_logo != self.org_logo:
            # delete the old image file from the storage in favor of the new file
            obj.org_logo.delete()

class Orglist(APIView):
    renderer_classes = (CustomRenderer,)
    parser_classes = [parsers.MultiPartParser, parsers.FormParser]
    """
    List all snippets, or create a new snippet.
    """
    def get(self, request, format=None):
        orgs = models.Organisation.objects.all()
        serializer = serializers.Organisation_Serializers(orgs, many=True)
        return Response(serializer.data)

    def post(self, request, format=None):
        serializer = serializers.Organisationpost_Serializers(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

class OrgDetail(APIView):
    renderer_classes = (CustomRenderer,)
    parser_classes = [parsers.MultiPartParser, parsers.FormParser]

    def get_object(self, pk):
        try:
            return models.Organisation.objects.get(pk=pk)
        except models.Organisation.DoesNotExist:
            raise Http404

    def get(self, request, pk, format=None):
        org = self.get_object(pk)
        serializer = serializers.Organisation_Serializers(org)
        return Response(serializer.data)

    def put(self, request, pk, format=None):
        org = self.get_object(pk)
        serializer = serializers.Organisationpost_Serializers(org, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    def delete(self, request, pk, format=None):
        org = self.get_object(pk)
        org.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
 
class Organisation_Serializers(serializers.ModelSerializer):
    product = Product_Serializers(read_only=True,many=True)

    class Meta:
        model = Organisation
        fields = ('org_id', 'org_name','org_address', 'org_phone_number', 'org_mail_id','org_logo','org_code','product',)

class Organisationpost_Serializers(serializers.ModelSerializer):

    class Meta:
        model = Organisation
        fields = ('org_id', 'org_name','org_address', 'org_phone_number', 'org_mail_id','org_logo','org_code','product',)

I have configure the AWS credentials in the settings file. So kindly please suggest me a way to convert the image file and upload.

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.