#!C:/Python26/python
# -*- coding: utf-8 -*-
'''
ファイルをアップロードする
'''
html = '''Content-Type: text/html
<html>
<head>
<meta http-equiv="Content-Type"
content="image/jpeg" charset="UTF-8"
/>
<title>ファイルをアップロードする</title>
</head>
<body>
<h1>お顔の写ったJPEGファイルをアップロード</h1>
<p>%s</p>
<form action="index.cgi"
method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" />
</form>
</body>
</html>
'''
import cgi
import os, sys
import shutil
import random
#
sid = None
_uid = None
ID_MAX_LENGTH = 15
_alpha = 'abcdefghijklmnopqrstuvwxyz'
_chars = '0123456789' + _alpha + _alpha.upper()
#
try:
import msvcrt
msvcrt.setmode(0,
os.O_BINARY)
msvcrt.setmode(1,
os.O_BINARY)
except ImportError:
pass
result = ''
form = cgi.FieldStorage()
#
s = ''
for i in xrange(ID_MAX_LENGTH):
s
= s + random.choice(_chars)
your_id = s
#
dl_fname = your_id + "_detected_faces.jpg"
f_name = your_id + "_temp_face.jpg"
cp_fname = "c:/<ドキュメントルートフォルダー>/OpenCV/tmp/" + f_name
#
#
if form.has_key('file'):
item = form['file']
if item.file:
ul_fname
= os.path.join('./', item.filename)
fout = file(ul_fname, 'wb')
while True:
chunk = item.file.read(1000000)
if not chunk:
break
fout.write(chunk)
fout.close()
result = 'アップロードしました。'
shutil.move(ul_fname, cp_fname)
os.system("c:/<ドキュメントルートフォルダー>/OpenCV/face_detect.py
" + f_name + " " + your_id)
if result != '':
print
html % result + '<a href="http://<ドメイン>/OpenCV/tmp/'
+ dl_fname + '" target="_blank">ファイル参照</a>'
else:
print html % result