为什么用PIL保存文件时出现'IOError Exception Value: [Errno 2] No such file or directory'?
我正在用Django/Python搭建一个网站,其中有一个页面可以让用户上传照片,然后通过以下函数进行调整大小并保存:
from PIL import Image, ImageFile
def resize(file_to_resize, string_id,):
parser = ImageFile.Parser()
while True:
s = file_to_resize.read(1024)
if not s:
break
parser.feed(s)
image = parser.close()
ms = image.copy()
size = 320,240
ms.thumbnail(size, Image.ANTIALIAS)
ms.save('http://www.mysite.com/site_media/images/profile/' + string_id, "JPEG") `
在本地运行的时候一切都很顺利,但当我把网站上传到我的主机并在Apache下运行时,出现了以下错误:
请求方法:POST
请求网址:http://www.mysite.com/saveimage/8/
Django版本:1.2.1
异常类型:IOError
异常信息:
[Errno 2] 没有这样的文件或目录:u'http://www.mysite.com/site_media/images/profile/8'
异常位置:/usr/local/lib/python2.6/site-packages/PIL/Image.py 的 save 函数,第1299行
Python可执行文件:/usr/languages/python/2.6/bin/python
Python版本:2.6.6
另外,我对网页开发和Django/Python还很陌生,这其实是我在学习的一个项目,打算和朋友和家人分享,所以我不太确定这种直接在网站上写入文件的方法是否安全。任何建议都非常感谢。
1 个回答
3
你当前的目录里没有叫做 "http:" 的文件夹。
如果你真的想通过HTTP保存一个文件,这样做是不对的。