Django загрузка изображения из url

error

    File "/Users/soubhagyapradhan/Desktop/upwork/polyverse/polyverse_api/env/lib/python3.8/site-packages/botocore/hooks.py", line 211, in _emit
        response = handler(**kwargs)
    File "/Users/soubhagyapradhan/Desktop/upwork/polyverse/polyverse_api/env/lib/python3.8/site-packages/botocore/utils.py", line 2355, in conditionally_calculate_md5
        md5_digest = calculate_md5(body, **kwargs)
    File "/Users/soubhagyapradhan/Desktop/upwork/polyverse/polyverse_api/env/lib/python3.8/site-packages/botocore/utils.py", line 2332, in calculate_md5
        binary_md5 = _calculate_md5_from_file(body)
    File "/Users/soubhagyapradhan/Desktop/upwork/polyverse/polyverse_api/env/lib/python3.8/site-packages/botocore/utils.py", line 2344, in _calculate_md5_from_file
        for chunk in iter(lambda: fileobj.read(1024 * 1024), b''):
    File "/Users/soubhagyapradhan/Desktop/upwork/polyverse/polyverse_api/env/lib/python3.8/site-packages/botocore/utils.py", line 2344, in <lambda>
        for chunk in iter(lambda: fileobj.read(1024 * 1024), b''):
    File "/Users/soubhagyapradhan/Desktop/upwork/polyverse/polyverse_api/env/lib/python3.8/site-packages/s3transfer/utils.py", line 483, in read
        data = self._fileobj.read(amount_to_read)
    File "/Users/soubhagyapradhan/Desktop/upwork/polyverse/polyverse_api/env/lib/python3.8/site-packages/s3transfer/upload.py", line 86, in read
        return self._fileobj.read(amount)
    File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/codecs.py", line 322, in decode
        (result, consumed) = self._buffer_decode(data, self.errors, final)
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
    [27/Apr/2022 13:14:52] "POST /api/asset-file/ HTTP/1.1" 500 283894

сигнал

    @receiver(post_save, sender=DesignerProductMedia) 
    def save_profile(sender, instance, **kwargs):
        video = instance.file
        url   = instance.url 

        if url and not video:
            from django.core.files import File
            import os
            result = urllib.urlretrieve(instance.url)
            instance.file.save(
                    os.path.basename(instance.url),
                    File(open(result[0]))
                    )
            instance.save()
            return

модель:

class DesignerProductMedia(models.Model):
    url        = models.CharField(max_length=255, null=True, blank=True)
    file       = models.FileField(null=True, blank=True, upload_to='asset')

Здесь я пытаюсь загрузить изображение из url У меня есть url и используя postman я отправляю url после сохранения этого из url я генерирую файл и добавляю в модель. Но получаю вышеуказанную ошибку

Пожалуйста, посмотрите, как я могу решить эту проблему

Вернуться на верх