client.py
import urllib.request
import os
url = "http://127.0.0.1:5000/upload"
fileName = input("Enter the file:")
if os.path.exists(fileName):
fobj = open(fileName, "rb")
data = fobj.read()
fobj.close()
p = fileName.rfind("\\")
fileName = fileName[p+1:]
print("准备上传:" + fileName)
headers = {'content-type': 'application/octet-stream'}
purl = url + "?fileName=" + urllib.parse.quote(fileName)
req = urllib.request.Request(purl, data, headers)
msg = urllib.request.urlopen(req)
msg = msg.read().decode()
if msg == "OK":
print("成功上传:", len(data), "字节")
else:
print(msg)
else:
print("文件不存在!!!")
serve.py
import flask
app = flask.Flask(__name__)
@app.route("/upload", methods=['get', 'post'])
def uploadFile():
msg = ""
try:
fileName = flask.request.values.get("fileName")
if "fileName" in flask.request.values:
data = flask.request.get_data()
fobj = open("upload " + fileName, "wb")
fobj.write(data)
fobj.close()
msg = "OK"
else:
msg = "没有按照要求上传文件"
except Exception as err:
print(err)
msg = str(err)
return msg
if __name__ == "__main__":
app.run()
运行时输入: 图像.jpg
运行后的文件夹为:
![在这里插入图片描述](https://img-blog.csdnimg.cn/04febeae495648fbb563f77ed6933072.png)