首页 > 其他分享 >MUI调用照片以及裁剪和图库照片上传到服务器【后端部分Flask+MUI】

MUI调用照片以及裁剪和图库照片上传到服务器【后端部分Flask+MUI】

时间:2022-10-24 17:34:58浏览次数:61  
标签:调用 Flask request 照片 API appid import MUI

MUI调用照片以及裁剪和图库照片上传到服务器【后端部分】

涉及技术:

前端:MUI

后端:Flask

数据库:MongoDB

一.MUI后端接受照片

1.1 主要的py文件

先设置固定接受照片路由,用于处理数据请求。

@app.route("/photo", methods=['POST', 'GET'])

我们在上一篇中写到,前端以及将目的照片将照片的文件流转换为besa64格式的数据流,所以我们在后端里,需要接受它的baes64的数据流文件:

score = request.form.get("imageBase64")

现在的score里面就是我们需要的照片流。我们将其代码模块化,新建一个Photo的py文件。

在主要的py文件里将里面的三个方法引入到我们需要的PHOTO文件里面:

from Photo import imgshibie, wordshibie,translate

1.2 在子模块Photo中调用API

我们首先引入需要的py模块包,如下:

import requests
import base64
import http.client
import hashlib
import urllib
import random
import json

1.2.1 调用通用文字识别(高精度版)某度

百度通用翻译API,不包含词典、tts语音合成等资源。

coding=utf-8

调用调用通用文字识别的目的URL

request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic"

二进制方式打开图片文件

img=imgByteArr
access_tokenx = "XXXXXX"
params = {"image": img}

access_tokenx为个人的token,需要个人申请。

params存放着我们的目标二进制方式图片文件。

调用其API

request_url = request_url + "?access_token=" + access_tokenx
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)

如果识别成功:

 qwes=response.json()['words_result']
            overword=""
            for word in qwes:
                overword =overword+word["words"]
            # print(overword)
            return overword

调用某度的API之后,返回本次文字识别的结果,返回给主要的py里,后面会响应给前端。

通用物体和场景识别:

目的的API为

 request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general"

1.2.2 中文和英文相互翻译API调用

百度appid和密钥需要通过注册百度【翻译开放平台】账号后获得。

appid = 'XXXX'  # 填写你的appid
secretKey = 'XXXX'  # 填写你的密钥

这里有一个需求,因为我需要上传一个图片,然后进行一个文字提取:有俩种情况

  • 如果是中文:翻译为英文返回到前端
  • 如果是英文:翻译为中文返回到前端

通用翻译API HTTP地址如下:

   httpClient = None
    myurl = '/api/trans/vip/translate'

写一个检验是否含有中文字符的字函数:

def is_contains_chinese(strs):
    for _char in strs:
        if '\u4e00' <= _char <= '\u9fa5':
            return True
    return False

如果这个函数里面,传入的值含有中文字符的值,返回True,否则返回Faalse。

实现,如果是中文:翻译为英文返回到前端,如果是英文:翻译为中文返回到前端

    if is_contains_chinese(translate):
        fromLang = 'auto'  # 原文语种
        toLang = 'en'
    else:
        fromLang = 'auto'  # 原文语种
        toLang = 'zh'

手动录入翻译内容,q存放

    q = translate
    sign = appid + q + str(salt) + secretKey
    sign = hashlib.md5(sign.encode()).hexdigest()
    myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(q) + '&from=' + fromLang + \
            '&to=' + toLang + '&salt=' + str(salt) + '&sign=' + sign

建立会话,返回结果。

response是HTTPResponse对象

httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
httpClient.request('GET', myurl)
response = httpClient.getresponse()
result_all = response.read().decode("utf-8")
result = json.loads(result_all)

返回值结果如下: 在这里插入图片描述 在这里插入图片描述

二 . MUI和Flask的特点

MUI的特点:

极小:100k的js文件,60k的css文件。原生编写,不依赖任何三方框架 极强:xcode和Android studio里所有原生控件都具备 高性能:精练的代码、适时的5+原生动画调用,达到原生应用的体验 多端发布:编写一套代码,iOS、Android、浏览器、微信H5、百度直达号、流应用全覆盖

Flask的特点:

良好的文档、丰富的插件、包含开发服务器和调试器(debugger)、集成支持单元测试、RESTful请求调度、支持安全cookies、基于Unicode**。**

标签:调用,Flask,request,照片,API,appid,import,MUI
From: https://blog.51cto.com/u_15568258/5787717

相关文章

  • FLASK
    1.增加用户 后台端口fromflaskimportFlask,render_template,requestimportpymysqlapp=Flask(__name__)@app.route("/adduser",methods=["GET","POST"])def......
  • PS新手教程-如何使用PS把照片做成拼图效果
    如何使用PS把照片做成拼图效果?给大家介绍如何使用PS把照片做成拼图效果,一起来看看吧。1.打开PS和新建图层打开PS软件后,点击菜单栏“文件”>“新建”,设置名称、宽度和高度为2......
  • 【Web开发】Python实现Web服务器(Flask测试统计图表)
    1、前言提示:Flask是一个用python语言基于Werkzeug工具箱编写的轻量级web开发框架,它主要面向需求简单,项目周期短的小应用。Flask是一个使用Python编写的轻量级Web应用......
  • 【Web开发】Python实现Web服务器(Flask测试后台框架模板)
    1、前言提示:Flask是一个用python语言基于Werkzeug工具箱编写的轻量级web开发框架,它主要面向需求简单,项目周期短的小应用。Flask是一个轻量级的可定制框架,使用Python语言......
  • Flask 在get方法中 返回包含中文信息,包含乱码
    在Flask 在get方法中返回json信息包含中文信息  returnjsonify(rest) 在获取调用端,获取后中文乱码因为flask的默认配置中使用的是ascii编码解决方法......
  • 使用Flask作为项目后端中使用蓝图通过 dotenv 设置环境变量实现需求
    创建蓝图蓝图是一种组织一组相关视图和其他代码的方法。与直接向应用程序注册视图和其他代码的方法不同,蓝图方法是将它们注册到蓝图,然后在工厂函数中将蓝图注册到应用程序......
  • ubuntu18.04 配置supervisor+gunicorn+flask
    [program:micro_http];程序名称user=root;执行程序的用户command=/usr/local/bin/gunicorn-w4-b0.0.0.0:8000flaskr:app--access-logfile=/var/log/incubator/......
  • 几行代码实现老照片上色复原!
    作者:桔了个仔,南洋理工大学,Datawhale成员身临其境的图像复原之前看《你好李焕英》里,有一个表现手法非常让我印象深刻。就是一开始场景是黑白的,然后慢慢变成彩色的,从黑白到彩......
  • flask-1
    Flask前言:从0开始入手到上手一个新的框架,应该怎么展开?flask这种轻量级的框架与django这种的重量级框架的区别?针对web开发过程中,常见的数据库ORM的操作。跟着学习flas......
  • flask-2
    请求全局钩子[hook]此处的全局钩子,其实就是类似django里面的中间件。也就是只要调用或者注册了,在http请求响应中是必然执行的。在客户端和服务器交互的过程中,有些准备工......