home changes contents help options

240:ファイルをアップロードする

ほぼ Ruby レシピブックのままです。 cgi モジュールを使用しています。

#!/usr/local/bin/python
# coding: utf-8

import cgi

html = u"""
<html>
 <head>
  <meta http-equive="content-type" contetnt="text/html;charset=utf-8" />
  <title>アップロードサンプル</title>
 </head>
 <body>
  <form method="POST" action="/cgi-bin/up.py" enctype="multipart/form-data">
    アップロードしたいファイル
    <input type="FILE" name="file" /><br />
    コメント:
    <input type="TEXT" name="comment" name="コメント" size="40" /><br />
    <input type="submit" name="upload" value="アップロードする"/>
  </form>
  <p>
   ファイル内容: %(file)s
  </p>
  <p>
   コメント: %(comment)s
  </p>
 </body>
</html>"""

contents = {}
form = cgi.FieldStorage()

contents['file'] = cgi.escape(repr(form.getvalue('file', u'')))
contents['comment'] = cgi.escape(form.getvalue('comment', u''))

print u"Content-type: text/html;charset=utf-8\n".encode('utf-8')
print (html % contents).encode('utf-8')