python上传图片并识别图片

from json_response import JsonResponse
from aip import AipOcr
import os
import time

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
OUT = "/static/upload"
ABS_OUT = os.path.join(BASE_DIR, OUT[1:])

# 定义常量
APP_ID = '9851066'
API_KEY = 'LUGBatgyRGoerR9FZbV4SQYk'
SECRET_KEY = 'fB2MNz1c2UHLTximFlC4laXPg7CVfyjV'

# 初始化AipFace对象
aipOcr = AipOcr(APP_ID, API_KEY, SECRET_KEY)

def upload_img(request):

    img = request.FILES.get('image')
    if not all(img):
        return JsonResponse({
                    'code':'-1',
                    'msg':'no image'
                })
    abs_path = ''
    try:
        # 存储文件
        file_name = "%s.png" % (time.time() * 1000)
        # web_path = os.path.join(OUT, file_name)
        abs_path = os.path.join(ABS_OUT, file_name)
        with open(abs_path, "wb") as fp:
            for chunk in img.chunks():
                fp.write(chunk)

    except Exception as msg:
        return JsonResponse({
            "code": -3, "msg": "Upload filed! Msg:%s" % msg
        })

    options = {
        'detect_direction': 'true',
        'language_type': 'CHN_ENG',
    }

    # 调用通用文字识别接口
    result = aipOcr.basicGeneral(get_file_content(abs_path), options)
    # print(json.dumps(result).decode("unicode-escape"))
    return JsonResponse(result)

def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

 

posted @ 2018-05-02 15:04  MvloveYouForever  阅读(1033)  评论(0编辑  收藏  举报