从网站用python写图像到文件



我写了下面的代码:

class uploadfromfile:
    def POST(self, name=None):
            filename = ''.join(random.choice('abcdefghijklmnopqrstuvwxyz') for i in range(20))
            x = web.input(upfile={})
            f = open(filename, 'w')
            f.write(x['upfile'].value)
            f.close()
            imgFromFile(filename)
            return "some html"

但是它不起作用。我得到一个巨大的错误,以这个结束:UnicodeDecodeError: 'utf8'编解码器无法解码字节0xff在位置15:无效的开始字节

错误似乎到达f.write(x['upfile'].value),我不能为我的生活弄清楚为什么。你知道哪里出了问题吗?我知道这个值在这个变量中,因为如果我返回它,图像就会显示在浏览器中。

我看到的第一个错误是该文件没有以二进制模式打开。当读写不是简单字符串的文件时,需要二进制模式来将数据视为字节。只需将文件打开方式切换为f = open(filename, 'wb')即可解决该问题。

最新更新