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)

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

目录
相关文章
|
24天前
|
存储 数据挖掘
服务器数据恢复—用RAID5阵列中部分盘重建RAID5如何恢复原raid5阵列数据?
服务器数据恢复环境: 一台服务器挂接一台存储,该存储中有一组由5块硬盘组建的RAID5阵列。 服务器故障: 存储raid5阵列中有一块硬盘掉线。由于RAID5的特性,阵列并没有出现问题。工作一段时间后,服务器出现故障,用户方请人维修。维修人员在没有了解故障磁盘阵列环境的情况下,用另外4块硬盘(除去掉线的硬盘)重新创建了一组全新的RAID5阵列并完成数据同步,导致原raid5阵列数据全部丢失。
|
1月前
|
Python
Flask学习笔记(二):基于Flask框架上传图片到服务器端并原名保存
关于如何使用Flask框架上传图片到服务器端并以其原名保存的教程。
75 1
|
30天前
|
前端开发 Docker 容器
主机host服务器和Docker容器之间的文件互传方法汇总
Docker 成为前端工具,可实现跨设备兼容。本文介绍主机与 Docker 容器/镜像间文件传输的三种方法:1. 构建镜像时使用 `COPY` 或 `ADD` 指令;2. 启动容器时使用 `-v` 挂载卷;3. 运行时使用 `docker cp` 命令。每种方法适用于不同场景,如静态文件打包、开发时文件同步及临时文件传输。注意权限问题、容器停止后的文件传输及性能影响。
130 0
|
1月前
|
Unix 中间件 数据库
bottle flask 框架对比
Flask:Flask是一个轻量级的Web应用框架, 使用Python编写。
30 0
|
8天前
|
机器学习/深度学习 人工智能 弹性计算
什么是阿里云GPU云服务器?GPU服务器优势、使用和租赁费用整理
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等多种场景。作为亚太领先的云服务提供商,阿里云的GPU云服务器具备灵活的资源配置、高安全性和易用性,支持多种计费模式,帮助企业高效应对计算密集型任务。
|
10天前
|
存储 分布式计算 固态存储
阿里云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个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
8天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。
|
15天前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
53 9
|
12天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
16天前
|
弹性计算 异构计算
2024年阿里云GPU服务器多少钱1小时?亲测价格查询方法
2024年阿里云GPU服务器每小时收费因实例规格不同而异。可通过阿里云GPU服务器页面选择“按量付费”查看具体价格。例如,NVIDIA A100的gn7e实例为34.742元/小时,NVIDIA A10的gn7i实例为12.710156元/小时。更多详情请访问阿里云官网。
56 2