python和java对接数据的简单实现

一、python检测到的图片能够在平台进行展示

开发环境:
电脑一:python实现人体检测,并实时保存有异常动作的图片,
电脑二:Java实现平台开发

问题描述:
电脑一检测到异常图片时,将该异常图片和其他信息存储到数据库中且平台的前端页面能够正常展示电脑一的本地图片。

实现思路:

  1. python实时保存检测到的异常图片
if task.action_preds:
    time_now = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
    str_img_name = str(time_now) + ".jpg"
    save_img_path = os.path.join(abnor_path, str_img_name)
    # abnor_path异常图片的路径 'D:/work_python/flask-video-web/abnor_picture/'
    for p in task.action_preds:
        for label in p:
            if label[0] == 'fall down':
                for ii in task.frames:
                    behavior = '3'  # '跌倒'
                    ab_path = save_img_path
                    cv2.imwrite(save_img_path, ii)  # 保存异常图片
  1. python将图片传给Java接口,之后将图片和其他信息存储到数据库
if behavior and ab_path:
    # 1.python调用Java接口,将图片传给Java
    url = 'http://127.0.0.1:8080/upload'	# 改为Java写的接口
    files = {"code": "200", 'file': (str_img_name,open(ab_path, 'rb'), 'image/jpeg')}
    r = requests.post(url, files=files)
    # 2.Java返回其接收到的图片名称
    resp = json.dumps(r.text)
    # 3.python将收到的图片和其他信息存储到数据库
    sql1 = 'INSERT INTO avatar(type,avatar,ip_id,start_time) VALUES(%s,%s,%s,%s)'	# 数据库的SQL语句
    curosr = conn()
    curosr.execute(sql1, (behavior, resp, ip, current_time))

参考链接:python和java Http传输图片的简单实现
之前写接口走了很多弯路,非常感谢该作者的文章。

二、python接收Java传的数据

问题描述:
客户端有增删数据操作,Java需将增删的数据传给python

实现思路:

  1. python服务端
import socket

adress = ('', 4000)   # Java访问的接口是python电脑的IP
# 创建socket对象,同时设置通信模式,AF_INET代表IPv4,SOCK_STREAM代表流式socket,使用的是tcp协议
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(address)
# 开始监听,5位最大挂起的连接数
server.listen(5)
# 无限循环,实现反复接收请求
while True:
	# accept()方法被动接受客户端连接,阻塞,等待连接. client是客户端的socket对象,可以实现消息的接收和发送,addr表示客户端的地址
	client, addr = server.accept()
	data = client.recv(13)  # 代表从发过来的数据中读取13byte的数据
	data1 = client.recv(4)   # 再接收4byte数据
	client.sendall(b'1')    # 给客户端回消息,必须是byte类型
	client.close()        # 关闭连接
server.close()

  1. Java客户端

代码参考链接:网络编程之–socket实现python和java通信
注意!!!Java开发人员也需用socket进行对接

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值