#!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