2011-07-25 38 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) 
相关问题