2011-07-25 37 views
2

我需要創建一個表格並讓表格上傳圖片並將其保存到我的磁盤。這裏是我的代碼如何在web.py中進行圖片上傳並將其保存到磁盤

import web 

urls = (
'/hello', 'Index', 
'/file_upload_form', 'ThatFile' 
) 

app = web.application(urls, globals()) 

render = web.template.render('templates/', base = "layout") 

class ThatFile(object): 
    def GET(self): 
     return render.file_upload_form() 

    def POST(self): 
     form = web.input(image = "loc") 
     open(form.image,'r') 
     image_o = form.image.read() 
     return render.thatfile(o_image = o_image) 

class Index(object): 
    def GET(self): 
     return render.hello_form() 

    def POST(self): 
     form = web.input(name = "Nobody", greet = None) 
     greeting = "%s, %s" % (form.greet, form.name) 
     return render.index(greeting = greeting) 

if __name__ == "__main__": 
    app.run() 

我試過使用PIL圖像模塊,但它不顯示圖像。

+0

什麼是你的代碼的地方,你認爲你將文件保存到磁盤?我找不到它。文件不會奇蹟般地保存自己。 –

+0

我知道我不知道如何將文件保存到磁盤。我現在可以打開一個文件並將其打印在新頁面中,但無法保存。所以代碼的保存部分不在那裏。 – Ulmer

回答

6

使用類似

import shutil 
# SKIPPED 
def POST(self): 
    form = web.input(image={}) 
    with open('path/to/image.jpg', 'wb') as saved: 
     shutil.copyfileobj(form['image'].file, saved) 
相關問題