2010-04-19 51 views
1

我的錯誤是:不能使用 「image.save」 Django上

IOError at /mytest/photo/upload/ 

[Errno 2] No such file or directory: u'/mytest/photo/upload/2.png' 

而我的看法是:

UPLOAD_URL = '/mytest/photo/upload/' 

def upload(request): 
    buf = request.FILES.get('photo', None) 
    print buf 
    if buf: 
     #data = buf.read() 
     #f = StringIO.StringIO(data) 
     image = Image.open(buf) 
     #image = image.convert('RGB') 
     name = '%s%s' % (UPLOAD_URL, buf.name) 
     image.save(file(name, 'wb'), 'PNG') 
     return HttpResponse('ok') 
    return HttpResponse('no') 

我的urls.py是:

urlpatterns = patterns('mytest.views', 
    url(r'^photo/upload/$','upload',name="") 
) 

如何我能解決這個問題嗎?

+0

什麼是您的表單模板是什麼樣子? – Brant 2010-04-19 14:14:06

回答

0

您必須指定要保存文件的本地路徑。 UPLOAD_URL是您的視圖的路徑,而不是目錄。

名與上傳

完整路徑變量UPLOAD_PATH然後像做:

UPLOAD_PATH = '/path/to/uploads/user' 
if not os.path.isdir(UPLOAD_PATH): 
    os.mkdir(UPLOAD_PATH) 
file_path = os.path.join(UPLOAD_PATH, filename) 
# security check 
if os.path.abspath(file_path).startswith(UPLOAD_PATH): 
    image.save(file(file_path , 'wb'), 'PNG') 
相關問題