Django 的 request.FILES 出现 UnicodeDecodeError

2024-05-21

我在视图调用中有以下代码..

def view(request):
    body = u""  
    for filename, f in request.FILES.items():
        body = body + 'Filename: ' + filename + '\n' + f.read() + '\n'

在某些情况下我得到

UnicodeDecodeError: 'ascii' codec can't decode byte 0xf0 in position 7470: ordinal not in range(128)

我究竟做错了什么? (我使用的是 Django 1.1。)

谢谢。


姜戈有一些公用事业 http://docs.djangoproject.com/en/dev/ref/unicode/#conversion-functions处理这个问题(smart_unicode、force_unicode、smart_str)。一般来说你只需要 smart_unicode 。

from django.utils.encoding import smart_unicode
def view(request):
    body = u""  
    for filename, f in request.FILES.items():
        body = body + 'Filename: ' + filename + '\n' + smart_unicode(f.read()) + '\n'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 的 request.FILES 出现 UnicodeDecodeError 的相关文章

随机推荐