如何在web.py中上传图片并保存到磁盘

2 投票
1 回答
2561 浏览
提问于 2025-04-16 22:12

我需要创建一个表单,让这个表单可以上传一张图片,并把它保存到我的电脑上。以下是我的代码:

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的Image模块,但它没有显示出图片。

1 个回答

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)

撰写回答