跑步有什么区别吗Image
你的测试套件和工作代码之间有lib吗?可以吗Image
lib 能否正确处理 GIF 等文件?您可能需要检查PIL/pillow
安装也是如此。
SimpleUploadedFile(name='foo.gif',
content=b'GIF87a\x01\x00\x01\x00\x80\x01\x00\x00\x00\x00ccc,\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02D\x01\x00')
对我有用。
该表单内部依赖于forms.ImageField
测试其图像to_python()
,以如下方式:
import io
from django.utils.image import Image
Image.open(io.BytesIO(image_content)).verify()
任何例外情况verify()
行会导致错误'Upload a valid image...'
。您可以通过将其分配给来检查图像字节image_content
:
image_content = b'GIF87a\x01\x00\x01\x00\x80\x01\x00\x00\x00\x00ccc,\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02D\x01\x00'
也适合我。
另外,您可以在线生成图像字节:
import io
from django.utils.image import Image
fp = io.BytesIO()
Image.new('P', (1,1)).save(fp, 'png')
fp.seek(0)
portrait = SimpleUploadedFile(name=''foo, content=fp.read())