一)小程序前台发送图片数据:
在此我是调用了camera组件来产生图片,然后发送给后台
wxml部分:
<view class="view-camera-inner">
<camera device-position="front" flash="off" style="height: 570rpx;" ></camera>
</view>
发送数据主要是通过uploadFile来进行上传图片数据。
upload(){
let that = this
let name = ''
uni.showModal({
editable:true,
placeholderText:'请输入人名',
success(res) {
if(res.confirm){
name = res.content
const ctx = uni.createCameraContext();
//调用相机开始拍摄照片
ctx.takePhoto({
quality: 'high',
success: (res) => {
uni.showLoading({
title: '上传中请稍后~',
mask: true
});
let im = res.tempImagePath;
//上传部分
uni.uploadFile({
url:that.urls.upLoad, //上传到哪
filePath: im, //图片
name: 'face', //后台交互的名称
formData:{ //提交附加信息
names:name
},
success(res) {
uni.hideLoading()
}
})
}
})
}else{
console.log('取消')
}
}
})
},
二)falsk后台接收并保存数据
from flask import Flask, jsonify, request
import os
@app.route('/upload', methods=['GET', 'POST'])
def uploads():
img = request.files.get('face') //接收图片
name = request.form.get('names') //接收附加信息
name = str(name) + '.jpg' //保存图片的名称,一定要加上后缀名
img.save(os.path.join('face_recognition/face_database', name))
return 'success'
1、通过request.files.get(刚刚前台写好的交互名)来接收数据。
2、通过1得到的对象调用save方法保存,save的参数是一个路径,
os.path.join('地址', '保存的文件的名称');