123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- # -*- coding: utf-8 -*-
- from flask import Flask, request, jsonify, send_from_directory, Response, make_response
- import uuid
- import requests
- from PIL import Image
- from io import BytesIO
- app = Flask(__name__)
- # 设置静态文件夹(如果您想指定路径)
- app.config['UPLOAD_FOLDER'] = 'predict/output'
- host = 'http://192.168.60.2'
- uploadPath = 'predict/upload/'
- outputPath = 'predict/output/'
- # GET 请求接口示例
- @app.route('/api/get_data', methods=['GET'])
- def get_data():
- # 获取请求参数
- param = request.args.get('param')
- # 返回 JSON 响应
- data = jsonify({
- "message": "GET 请求成功",
- "param": param
- })
- response = make_response(data)
- # response.headers['Content-Type'] = 'text/plain; charset=utf-8'
- return response
- # GET 请求接口示例
- @app.route('/api/postgisupdate', methods=['POST'])
- def postgisupdate():
- # 获取请求参数
- param = request.args.get('param')
- # 返回 JSON 响应
- return jsonify({
- "message": "POST 请求成功",
- "param": param
- })
- # POST 上传图片
- @app.route('/api/upload_image', methods=['POST'])
- def upload_image():
- # 获取上传的文件
- img1 = request.files['img1']
- img2 = request.files['img2']
- # 保存文件
- filePath1 = uploadPath + str(uuid.uuid4()) + img1.filename
- filePath2 = uploadPath + str(uuid.uuid4()) + img2.filename
- img1.save(filePath1)
- img2.save(filePath2)
- return jsonify({
- "message": "上传成功",
- "data": {
- "img1": filePath1,
- "img2": filePath2
- }
- })
- # POST 通过url保存图片到本地
- @app.route('/api/save_image', methods=['POST'])
- def save_image():
- # 获取图片路径
- data = request.get_json()
- img1 = data['img1']
- img2 = data['img2']
- response1 = requests.get('http://192.168.60.63' + img1)
- if response1.status_code != 200:
- return jsonify({
- "message": "图片1不存在",
- "data": {
- "img1": img1
- }
- })
- img1 = Image.open(BytesIO(response1.content))
- img1Path = uploadPath + str(uuid.uuid4()) + '.png'
- img1.save(img1Path, format='PNG')
- response2 = requests.get('http://192.168.60.63' + img2)
- if response2.status_code != 200:
- return jsonify({
- "message": "图片2不存在",
- "data": {
- "img2": img2
- }
- })
- img2 = Image.open(BytesIO(response2.content))
- img2Path = uploadPath + str(uuid.uuid4()) + '.png'
- img2.save(img2Path, format='PNG')
- return jsonify({
- "message": "保存成功",
- "data": {
- "img1": img1Path,
- "img2": img2Path,
- }
- })
- # 访问静态文件
- @app.route('/predict/<filename>')
- def view_file(filename):
- return send_from_directory(app.config['UPLOAD_FOLDER'], filename)
- if __name__ == '__main__':
- app.run(debug=True, host='0.0.0.0', port=6500)
|