python-枕头返回错误:“ IOError:图像文件被截断(6个字节未处理)”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-枕头返回错误:“ IOError:图像文件被截断(6个字节未处理)”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4306字,纯文字阅读大概需要7分钟。
内容图文
![python-枕头返回错误:“ IOError:图像文件被截断(6个字节未处理)”](/upload/InfoBanner/zyjiaocheng/667/ae78478e39c44a6e9d30f3231fa1afaa.jpg)
我将Pillow 4.1.1与Python 2.7 / Django 1.9一起使用
我的网站上有成千上万张用户上传的图片,我使用枕头从模板生成缩略图.
例如.:
{% thumbnail apicture.file "1200x350" crop="center" as im %}
<img src="{{ im.url }}" width=100%>
{% endthumbnail %}
直到本周为止,它的运转情况都很好. Django现在显示此错误:
IOError: image file is truncated (6 bytes not processed)
在stackoverflow上找到的解决方案不起作用,因为它们都适用于视图而不是模板(例如ImageFile.LOAD_TRUNCATED_IMAGES = True).
有没有一种简单的方法来识别哪些图片会产生此错误?如何解决这个错误?
这是完整的回溯:
Internal Server Error: /trip/province-dublin-2034
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 149, in get_response
response = self.process_exception_by_middleware(e, request)
File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 147, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Terradiem\terradiem\trip\views.py", line 300, in trip
return render(request, 'trip/results.html', qsall)
File "C:\Python27\lib\site-packages\django\shortcuts.py", line 67, in render template_name, context, request=request, using=using)
File "C:\Python27\lib\site-packages\django\template\loader.py", line 97, in render_to_string
return template.render(context, request)
File "C:\Python27\lib\site-packages\django\template\backends\django.py", line 95, in render
return self.template.render(context)
File "C:\Python27\lib\site-packages\django\template\base.py", line 206, in render
return self._render(context)
File "C:\Python27\lib\site-packages\django\test\utils.py", line 92, in instrumented_test_render
return self.nodelist.render(context)
File "C:\Python27\lib\site-packages\django\template\base.py", line 992, in render
bit = node.render_annotated(context)
File "C:\Python27\lib\site-packages\django\template\base.py", line 959, in render_annotated
return self.render(context)
File "C:\Python27\lib\site-packages\django\template\defaulttags.py", line 220, in render
nodelist.append(node.render_annotated(context))
File "C:\Python27\lib\site-packages\django\template\base.py", line 959, in render_annotated
return self.render(context)
File "C:\Python27\lib\site-packages\django\template\defaulttags.py", line 220, in render
nodelist.append(node.render_annotated(context))
File "C:\Python27\lib\site-packages\django\template\base.py", line 959, in render_annotated
return self.render(context)
File "C:\Python27\lib\site-packages\django\template\defaulttags.py", line 326, in render
return nodelist.render(context)
File "C:\Python27\lib\site-packages\django\template\base.py", line 992, in render
bit = node.render_annotated(context)
File "C:\Python27\lib\site-packages\django\template\base.py", line 959, in render_annotated
return self.render(context)
File "C:\Python27\lib\site-packages\sorl\thumbnail\templatetags\thumbnail.py", line 59, in render
return self._render(context)
File "C:\Python27\lib\site-packages\sorl\thumbnail\templatetags\thumbnail.py", line 137, in _render
thumbnail = get_thumbnail(file_, geometry, **options)
File "C:\Python27\lib\site-packages\sorl\thumbnail\shortcuts.py", line 8, in get_thumbnail
return default.backend.get_thumbnail(file_, geometry_string, **options)
File "C:\Python27\lib\site-packages\sorl\thumbnail\base.py", line 125, in get_thumbnail
thumbnail)
File "C:\Python27\lib\site-packages\sorl\thumbnail\base.py", line 157, in _create_thumbnail
image = default.engine.create(source_image, geometry, options)
File "C:\Python27\lib\site-packages\sorl\thumbnail\engines\base.py", line 21, in create
image = self.colorspace(image, geometry, options)
File "C:\Python27\lib\site-packages\sorl\thumbnail\engines\base.py", line 53, in colorspace
return self._colorspace(image, colorspace)
File "C:\Python27\lib\site-packages\sorl\thumbnail\engines\pil_engine.py", line 101, in _colorspace
return image.convert('RGB')
File "C:\Python27\lib\site-packages\PIL\Image.py", line 844, in convert
self.load()
File "C:\Python27\lib\site-packages\PIL\ImageFile.py", line 226, in load
"(%d bytes not processed)" % len(b))
IOError: image file is truncated (6 bytes not processed)
谢谢
解决方法:
好的,我得到了我自己问题的答案!
正如lepsch所说,只需添加
从PIL导入Image,ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES =真
尽早在Django应用中.我将其添加到生成页面的视图中,并且工作正常.
内容总结
以上是互联网集市为您收集整理的python-枕头返回错误:“ IOError:图像文件被截断(6个字节未处理)”全部内容,希望文章能够帮你解决python-枕头返回错误:“ IOError:图像文件被截断(6个字节未处理)”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。