Как сделать загрузку изображения в web.py и сохранить его на диск - PullRequest
2 голосов
/ 25 июля 2011

Мне нужно создать форму, чтобы форма загружала изображение и сохраняла его на моем диске. Вот мой код

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 голосов
/ 25 июля 2011

Используйте что-то вроде

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)
...