Python Pillow:在发送到第三方服务器之前使图像渐进
发布时间:2020-12-20 13:51:42 所属栏目:Python 来源:网络整理
导读:我有一个使用Django Forms上传的图像,它在变量中可用作InMemoryFile我想要做的是使其渐进. 用于使图像渐进的代码 img = Image.open(source)img.save(destination,"JPEG",quality=80,optimize=True,progressive=True) Forms.py my_file = pic.pic_url.filepho
我有一个使用Django Forms上传的图像,它在变量中可用作InMemoryFile我想要做的是使其渐进.
用于使图像渐进的代码 img = Image.open(source) img.save(destination,"JPEG",quality=80,optimize=True,progressive=True) Forms.py my_file = pic.pic_url.file photo = uploader.upload_picture_to_album(title=title,file_obj=my_file) 问题是,我必须保存文件,以防我想使其逐步进行,并再次打开它以将其发送到服务器. (这似乎是一个多余的行动,使其进步) 我只是想知道是否还有一个图像渐进式,它不能将图像物理保存在磁盘上而是保存在内存中,我可以使用现有代码上传它吗? 理念 寻找类似的东西. my_file=pic.pic_url.file progressive_file = (my_file) photo = picasa_api.upload_picture_to_album(title=title,file_obj=progressive_file) 解决方法
如果您只想将中间文件保存到磁盘,则可以将其保存到StringIO中. PIL.open()和PIL.save()都接受类文件对象和文件名.
img = Image.open(source) progressive_img = StringIO() img.save(progressive_img,progressive=True) photo = uploader.upload_picture_to_album(title=title,file_obj=progressive_img) 上传者需要支持使用StringIO,但希望如此. 可能使用合适的协程直接从save()直接传输结果,但这是一个更多的工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |