init
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
'''
|
||||
Author: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git
|
||||
Date: 2023-03-29 20:22:34
|
||||
LastEditors: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git
|
||||
LastEditTime: 2023-04-05 15:46:07
|
||||
FilePath: /luyuetong-data/yolox-pytorch/flask_on.py
|
||||
Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://githaub.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
'''
|
||||
from flask import Flask, make_response, request, jsonify,send_file
|
||||
from flask_cors import CORS
|
||||
from werkzeug.utils import secure_filename
|
||||
from PIL import Image
|
||||
from yolo import YOLO
|
||||
from predict import PREDICT
|
||||
import os
|
||||
import quanju
|
||||
import requests
|
||||
import urllib.request
|
||||
from io import BytesIO
|
||||
import base64
|
||||
import io
|
||||
|
||||
|
||||
app = Flask(__name__)
|
||||
CORS(app)
|
||||
|
||||
@app.route('/uploads', methods=['GET','POST'])
|
||||
def uploads():
|
||||
global filename
|
||||
# 检查是否收到了POST请求
|
||||
if request.method == 'POST':
|
||||
|
||||
|
||||
# 检查是否收到了文件
|
||||
if 'file' not in request.files:
|
||||
return jsonify({'error': 'No file uploaded.'}), 400
|
||||
|
||||
file = request.files['file']
|
||||
filename = file.read() #此时转换出来的是二进制内容
|
||||
file_path = filename.decode("utf-8")
|
||||
|
||||
print(file_path)
|
||||
print(f"file:{file}")
|
||||
|
||||
# 将blob转换为base64编码的字符串
|
||||
image_data = base64.b64encode(file.read()).decode('utf-8')
|
||||
|
||||
# 将base64编码的字符串解码为图片数据
|
||||
img = Image.open(io.BytesIO(base64.b64decode(image_data)))
|
||||
Image.open(img)
|
||||
# 将bytes类型传递给预测函数进行处理
|
||||
result = PREDICT(img)
|
||||
|
||||
|
||||
#
|
||||
# print(file)
|
||||
# filename = secure_filename(file.filename)
|
||||
# file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
|
||||
# result = PREDICT()
|
||||
|
||||
#检查是否选择了文件
|
||||
if file.filename == '':
|
||||
return jsonify({'error': 'No file selected.'}), 400
|
||||
|
||||
|
||||
# # 检查文件类型是否合法
|
||||
# # if file and allowed_file(file.filename):
|
||||
# filename = secure_filename(file.filename)
|
||||
#保存文件到本地
|
||||
# file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
|
||||
|
||||
#自定义一个全局变量承接名字(自定义库.变量)
|
||||
# quanju.mingzi = filename
|
||||
return "ok"
|
||||
|
||||
# 将文件路径传递给模型进行预测
|
||||
# result = PREDICT(os.path.join(app.config['UPLOAD_FOLDER'], filename))
|
||||
|
||||
# return send_file(f'./results/result_{quanju.mingzi}', mimetype='image/jpeg')
|
||||
# return send_file('results/result_{}'.format(quanju.mingzi), mimetype='image/jpeg')
|
||||
|
||||
# return jsonify({'error': 'Invalid file type.'}), 400
|
||||
|
||||
|
||||
|
||||
def allowed_file(filename):
|
||||
# 检查文件类型是否合法,这里仅接受jpeg、jpg、png类型的图片文件
|
||||
return '.' in filename and filename.rsplit('.', 1)[1].lower() in {'jpeg', 'jpg', 'png'}
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# app.config['UPLOAD_FOLDER'] = './uploads'
|
||||
app.config['UPLOAD_FOLDER'] = 'yolox-pytorch/uploads'
|
||||
# app.debug = False
|
||||
app.run(host='10.21.19.104', port=8000)
|
||||
Reference in New Issue
Block a user