编码
import base64
# 假设您有一个图像文件,例如 'image.jpg'
with open(r"C:\Users\l****1686722996428308480-1 (1).jpg", 'rb') as image_file:
# 读取图像文件的二进制数据
image_data = image_file.read()
# 将二进制数据编码为Base64字符串
encoded_string = base64.b64encode(image_data).decode('utf-8')
print(encoded_string)
解码
import base64
from PIL import Image
from io import BytesIO
# Base64 编码的字符串
base64_string = encoded_string
# 去除头部信息并进行解码
image_data = base64.b64decode(base64_string)
# 创建 BytesIO 对象来保存解码后的数据
buffered_io = BytesIO()
buffered_io.write(image_data)
# 打开图片文件
img = Image.open(buffered_io)
# 显示图片(如果需要)
img.show()
flask后端接口
from flask import Flask, request
app = Flask(__name__)
@app.route('/receive-base64', methods=['POST'])
def receive_base64():
# 从POST请求中获取Base64编码的字符串
base64_string = request.form.get('data')
if base64_string:
# 这里可以添加处理Base64字符串的逻辑,例如解码或存储
print(f"Received Base64 string: {base64_string}")
# 返回确认消息
return "Base64 string received successfully."
else:
# 如果没有接收到Base64字符串,返回错误消息
return "No Base64 string received."
if __name__ == '__main__':
app.run(debug=True)
requests请求
import requests
import base64
# 假设你有一个Base64编码的字符串
base64_string = "your_base64_encoded_string_here"
# 将Base64字符串转换为字节对象
data_bytes = base64.b64decode(base64_string)
# 构建请求的payload
payload = {
'data': data_bytes
}
# 发送POST请求
response = requests.post('http://your-flask-server-address/receive-base64', files=payload)
# 打印响应内容
print(response.text)