我创建了一个Flask API,它目前正在本地计算机上运行 我在一台机器上运行python脚本来发布文本文件:
import json
import requests
datas = {'var1' : 'var1','var2' : 'var2',}
#my file to be sent
local_file_to_send = 'C:\\Users\\tmp.txt'
with open(local_file_to_send, 'w') as f:
f.write('I am a file\n')
url = "http://127.0.0.1:5000/customerupdate"
files = [
('document', (local_file_to_send, open(local_file_to_send, 'rb'), 'application/octet')),
('datas', ('datas', json.dumps(datas), 'application/json')),
]
r = requests.post(url, files=files)
print("sd")
print(str(r.content, 'utf-8'))
Python flask API:
import json
from flask import Flask, request
from flask import send_file
app = Flask(__name__)
@app.route('/',methods=['GET'])
def hello_world():
return 'Hello World!'
@app.route('/customerupdate',methods=['GET','POST'])
def customerupdate():
posted_file = str(request.files['document'].read(), 'utf-8')
posted_data = json.load(request.files['datas'])
print(posted_file)
print(posted_data)
return '{}\n{}\n'.format(posted_file, posted_data)
if __name__=='__main__':
app.run(debug='true',threaded=True)
然后是python get方法来接收文件:
import requests
r = requests.get('http://127.0.0.1:5000')
print(r.text)
但是在get方法中,我已经收到了文件的内容。但是我想要将其用于csv文件。我尝试通过将.csv而不是.txt制成,但是无法将文件发送到api。 ,是否可以通过flask从一台计算机上发送csv文件并在另一台计算机上接收csv文件,如果有解决方案,请发布代码。 已尝试使用以下链接:Python Flask: Send file and variable
我正在努力解决它。