Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件

简介: 这篇博客文章是关于如何使用Flask框架上传特征值数据到服务器端,并将其保存为txt文件的教程。

关键模块

b64decode

import base64
base64.b64decode(s, altchars=None, validate=False)

参数

  • s:要被解码的对象
  • altchars:必须是长度为2的bytes-like类型对象或ASCII字符串,它指定“+”和“/”字符的替代字母表。

返回的指为字节或者bytes

b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\x02\x01\x01\x01\x01\x01\x02\x01\x0

np.fromstring

将字符串或者字节转换成ascll码

import numpy as np
np.fromstring(str/bytes, dtype=np.uint8)

客户端

import requests
import json

# API地址
url = "http://10.16.55.26:8000/feature"
feature =[-130.875, -51.84375, 63.53125, -9.265625, 9.59375, -113.3125, -127.625, -20.5, 103.4375]
id = 2
time='123'
cameraid='camera4'
conf = 0.95
# 拼接参数
files = {'file': feature,'id': id,'time':time,'cameraid':str(cameraid),'conf':str(conf)}
fff=json.dumps(files, ensure_ascii=False)
# 发送post请求到服务器端json.dumps(files, ensure_ascii=False)
# # r = requests.post(url, json=json.dumps(files, ensure_ascii=False))
r = requests.post(url, json=fff)
print('200为成功 500为失败',r.status_code)
print(type(json.dumps(files, ensure_ascii=False)))

服务器端

from flask import request
from flask import Flask
import json,os
import numpy as np
import pickle
import cv2
import base64
from gevent.pywsgi import WSGIServer

app = Flask(__name__)

# 定义路由 flask的路由函数是一定要有返回值的,在不执行if的时候也需要加上返回值
@app.route("/feature", methods=['POST'])
def get_frame():
    filename=request.get_json()
    if (isinstance(filename,str)):
        filname1=json.loads(filename)
        print(filname1)
        feature_data=filname1['file']
        id=filname1['id']
        time=filname1['time']
        cameraid=filname1['cameraid']
        conf=filname1['conf']
        if cameraid=='camera1':
            f = open('F:\pycharm\client\camera1.txt','w') # a只写到最后,不可读 a+两者都可以
            f.write(str(feature_data)+'/'+str(id)+'/'+str(time)+'/'+str(cameraid)+'/'+str(conf)+'\n')
        elif cameraid=='camera2':
            f = open('F:\pycharm\client\camera2.txt','w') # a只写到最后,不可读 a+两者都可以
            f.write(str(feature_data)+'/'+str(id)+'/'+str(time)+'/'+str(cameraid)+'/'+str(conf)+'\n')
        elif cameraid=='camera3':
            f = open('F:\pycharm\client\camera3.txt','w') # a只写到最后,不可读 a+两者都可以
            f.write(str(feature_data)+'/'+str(id)+'/'+str(time)+'/'+str(cameraid)+'/'+str(conf)+'\n')
        else:
            f = open('F:\pycharm\client\camera4.txt','w') # a只写到最后,不可读 a+两者都可以
            f.write(str(feature_data)+'/'+str(id)+'/'+str(time)+'/'+str(cameraid)+'/'+str(conf)+'\n')
    else:
        print('the params is not str')
    # linedata2=open('F:\pycharm\client\camera2.txt','r')
    # for line in linedata2:
    #     for i in line.split('/'):
    #         print(i)
    print('cameraid is :',cameraid)
    json_info = json.dumps(dic, ensure_ascii=False) #将python对象编码成Json字符串 ensure_ascii=True:默认输出ASCLL码,如果把这个该成False,就可以输出中文。
    return json_info

if __name__ == "__main__":
    dic = {}
    app.run(host='10.16.55.26',port=8000)

效果如下
在这里插入图片描述
在这里插入图片描述

目录
相关文章
|
5天前
|
存储 运维 算法
服务器数据恢复—raid6阵列硬盘重组raid5阵列如何恢复raid6阵列数据?
服务器存储数据恢复环境: 存储中有一组由12块硬盘组建的RAID6阵列,上层linux操作系统+EXT3文件系统,该存储划分3个LUN。 服务器存储故障&分析: 存储中RAID6阵列不可用。为了抢救数据,运维人员使用原始RAID中的部分硬盘重新组建RAID并进行了初始化。 初始化开始一段时间后,运维人员察觉到情况有异后强制终止初始化,这个时候初始化已经完成一半以上。数据部分已被不可逆的破坏。
|
2月前
|
存储 数据挖掘
服务器数据恢复—用RAID5阵列中部分盘重建RAID5如何恢复原raid5阵列数据?
服务器数据恢复环境: 一台服务器挂接一台存储,该存储中有一组由5块硬盘组建的RAID5阵列。 服务器故障: 存储raid5阵列中有一块硬盘掉线。由于RAID5的特性,阵列并没有出现问题。工作一段时间后,服务器出现故障,用户方请人维修。维修人员在没有了解故障磁盘阵列环境的情况下,用另外4块硬盘(除去掉线的硬盘)重新创建了一组全新的RAID5阵列并完成数据同步,导致原raid5阵列数据全部丢失。
|
2月前
|
Python
Flask学习笔记(二):基于Flask框架上传图片到服务器端并原名保存
关于如何使用Flask框架上传图片到服务器端并以其原名保存的教程。
79 1
|
2月前
|
前端开发 Docker 容器
主机host服务器和Docker容器之间的文件互传方法汇总
Docker 成为前端工具,可实现跨设备兼容。本文介绍主机与 Docker 容器/镜像间文件传输的三种方法:1. 构建镜像时使用 `COPY` 或 `ADD` 指令;2. 启动容器时使用 `-v` 挂载卷;3. 运行时使用 `docker cp` 命令。每种方法适用于不同场景,如静态文件打包、开发时文件同步及临时文件传输。注意权限问题、容器停止后的文件传输及性能影响。
236 0
|
弹性计算 运维 安全
阿里云云服务器ECS介绍 学习笔记
阿里云云服务器ECS介绍 学习笔记
176 0
|
13天前
|
人工智能 弹性计算 编解码
阿里云GPU云服务器性能、应用场景及收费标准和活动价格参考
GPU云服务器作为阿里云提供的一种高性能计算服务,通过结合GPU与CPU的计算能力,为用户在人工智能、高性能计算等领域提供了强大的支持。其具备覆盖范围广、超强计算能力、网络性能出色等优势,且计费方式灵活多样,能够满足不同用户的需求。目前用户购买阿里云gpu云服务器gn5 规格族(P100-16G)、gn6i 规格族(T4-16G)、gn6v 规格族(V100-16G)有优惠,本文为大家详细介绍阿里云gpu云服务器的相关性能及收费标准与最新活动价格情况,以供参考和选择。
|
18天前
|
机器学习/深度学习 人工智能 弹性计算
什么是阿里云GPU云服务器?GPU服务器优势、使用和租赁费用整理
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等多种场景。作为亚太领先的云服务提供商,阿里云的GPU云服务器具备灵活的资源配置、高安全性和易用性,支持多种计费模式,帮助企业高效应对计算密集型任务。
|
20天前
|
存储 分布式计算 固态存储
阿里云2核16G、4核32G、8核64G配置云服务器租用收费标准与活动价格参考
2核16G、8核64G、4核32G配置的云服务器处理器与内存比为1:8,这种配比的云服务器一般适用于数据分析与挖掘,Hadoop、Spark集群和数据库,缓存等内存密集型场景,因此,多为企业级用户选择。目前2核16G配置按量收费最低收费标准为0.54元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.08元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
18天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。
101 2
|
26天前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
64 9