错误“AttributeError:'unicode'对象在文件上载时没有属性'read'”

时间:2010-10-11 15:55:14

标签: python pylons

我正在使用Pylons上传图像并将其存储到磁盘:

 <form method="post">
 <input type="file" name="picture" enctype="multipart/form-data" />
 </form>

然后在我的控制器中:

 if 'picture' in request.POST:

     i = ImageHandler()

     #Returns full path of image file
     picture_file = i.makePath()

     shutil.copyfileobj(request.POST['picture'],picture_file)

但我收到错误: AttributeError:'unicode'对象没有属性'read'

这里发生了什么?谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

copyfileobj的两个参数现在都是字符串,而该函数将文件(或“类文件对象”)作为参数。做点什么

 picture_file = open(i.makePath(), 'w')

(或仅picture_file = i,不确定您的ImageHandler类是什么样的),然后

 shutil.copyfileobj(request.POST['picture'].file, picture_file)