説明するのはあまりにも疲れて,,修正する時間を持っています
輸入pytesseractの インポート要求 からPILインポートイメージ からPILインポートするImageFilter からStringIOをインポートたStringIO からwerkzeug.utilsはsecure_filenameをインポート からgevent輸入サル からgevent.pywsgi輸入てWSGIServerの (monkey.patch_all) からフラスコインポートフラスコ、render_template、jsonify、要求、send_from_directory インポートタイム 輸入OS 輸入base64で 輸入ランダム アプリ = フラスコ(__ name__) UPLOAD_FOLDER = ' アップロード' のapp.config [ " UPLOAD_FOLDER' ] = UPLOAD_FOLDER BASEDIR = os.path.abspath(os.path.dirname(__ FILE__)) ALLOWED_EXTENSIONS = セット([ ' PNG ' ' JPG ' ' JPG ' ' PNG " ]) DEF allowed_file(ファイル名): リターン " 。' でファイル名とfilename.rsplit(' 。' 1)[ 1 ] におけるALLOWED_EXTENSIONS @ app.route(' / '、メソッド= [ ' GET ' ]、strict_slashes = 偽) DEF indexpage(): リターン render_template(' のindex.html ' ) app.route @(' / '、メソッド= [ ' POST ' ]、strict_slashes = 偽) デフapi_upload (): ログオープン=(" error.logファイル"、" W + " ) FILE_DIR = os.path.join(BASEDIR、App.configファイル[ ' UPLOAD_FOLDER ' ]) ならないos.path.exists(FILE_DIR): os.makedirs(FILE_DIR) 印刷request.headersの 印刷 >> ログは、request.headers F = request.files [ ' ファイル' ] postLang =のRequest.Formを。得る(" ラング"、タイプ= STR) log.close() もしfおよびallowed_file(f.filename): FNAME = secure_filename(f.filename) EXT = fname.rsplitを(' '、1)[ 1 ] UNIX_TIME = int型(time.time()) 新しいファイル名= STR(random.randrange(0、10001、2))+ STR(UNIX_TIME)+ ' 。「 + 内線 f.save(os.path.join(FILE_DIR、新しいファイル名)) であれば、CMP(postLang、" chi_sim " ): strboxs = pytesseract.image_to_boxes(Image.open(" は/ var / OCRhtml /アップロード/ " +新しいファイル名) 、のlang = " chi_sim " ) strdata = pytesseract.image_to_string(Image.open(" / VAR / OCRhtml /アップロード/ " +新しいファイル名)、langは= " chi_sim " ) 印刷" 中国" 他: strboxs = pytesseract.image_to_boxes(Image.open(" は/ var / OCRhtml /アップロード/ " + 新しいファイル名)) strdata = pytesseract.image_to_string(Image.open(" は/ var / OCRhtml /アップロード/ " + 新しいファイル名)) を返す {(jsonify " エラー番号":0、" MSG ":" 成功" "データ":strdata、 "情報" :strboxs}) 他: 戻り jsonify({ " エラー番号":1001、" ERRMSG ":uは" 失敗" }) であれば __name__ == ' __main__ ' : HTTP_Serverの =てWSGIServer(('' 、80 )、APP) HTTP_Serverの.serve_forever()