Загрузка изображения создает серые артефакты в новом файле - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь сохранить изображение из URL-адреса в модель Django.

Когда я пробую этот код, в нижней части изображения появляются серые пиксели, как будто они сохраняются перед чтением всего изображения.

Кто-нибудь знает, что может быть не так с этим кодом, или знает лучший способ сделать это?

def save_image(img_url, img_pk):
    file_name = img_url.split('/')[-1]

    external_image = requests.get(img_url, stream=True)


    if external_image.status_code == 200:

        # Create a temporary file
        lf = tempfile.NamedTemporaryFile()

        # Read the streamed image in sections
        for block in external_image.iter_content(1024 * 8):

            # If no more file then stop
            if not block:
                break

            # Write image block to temporary file
            lf.write(block)

            image_obj = Image.objects.get(pk=img_pk)
            image_obj.image.save(file_name, files.File(lf))
            image_obj.save()



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