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()