npm i axios form-data request --save
const fs = require('fs');
const axios = require('axios');
const FormData = require('form-data');
const form = new FormData();
const filePath = path.join(__dirname, "../../public/xxx.jpg");
// 给一个filename,让接收端能根据filename保存图片
const config = { filename: "xxx.jpg", contentType: "multipart/form-data" };
// 第一个参数是flask接受文件时的标识,一定要有
// 第三个参数flask要求文件上传时一定要把请求头的contentType设置为multipart/form-data
form.append("xxx", fs.createReadStream(filePath), config);
const formHeaders = form.getHeaders();
const upload = await axios.post("xxHOST/xxAPI", form, {
headers: {
...formHeaders,
},
});
console.log(upload.data)
npm i request
var request = require('request');
var fs = require('fs');
var options = {
'method': 'POST',
'url': 'http://192.168.0.12/v1',
'headers': {
'User-Agent': 'apifox/1.0.0 (https://www.apifox.cn)'
},
formData: {
'token': 'aa',
'file': {
'value': fs.createReadStream('C:\\Users\\WuLiang\\Desktop\\test2\\(Z0(5KAOG`A(`J{I3IKX8AW.png'),
'options': {
'filename': 'C:\\Users\\WuLiang\\Desktop\\test2\\(Z0(5KAOG`A(`J{I3IKX8AW.png',
'contentType': null
}
}
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
Python
pip3 install flask
from flask import Flask,request,send_from_directory
import os
# 设置一个文件上传路径,保存上传过来的图片
app.config['UPLOAD_PATH'] = os.path.join(app.root_path, 'uploads')
# 只接受POST方法
@app.route('/xxx', methods=['POST'])
def upload():
# 这里的【xxx】就是在前面我们说的标识,没有这个标识就没法从请求对象中找到我们指定的图片
xxx = request.files['xxx']
# 路径, 文件名来保存图片
xxx.save(os.path.join(app.config['UPLOAD_PATH'], xxx.filename))
return '上传成功'
if __name__ == "__main__":
app.run(debug=True)