server.py
from flask import *app=Flask(__name__)@app.route(‘/upload‘,methods=["POST"])def uploadfile(): msg="" try: if "filename" in request.values:#如果服务器收到传值信息 filename=request.values.get("filename") data=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 msgif __name__=="__main__": app.run(port=5000,deBUG=True)
clIEnt.py
import urllib.requestimport urllib.parseimport osurl="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:] ‘‘‘ p=filename.rfind("\") filename=filename[p+1:] print("准备上传:"+filename) ‘‘‘ 客户端要上传二进制数据,要设置表头content-type headers={‘content-type‘:‘application/octet-stream‘} ‘‘‘ headers = {‘content-type‘: ‘application/octet-stream‘} purl=url+"?filename="+urllib.parse.quote(filename)#把文件上传给服务器url+文件名。 ‘‘‘ urllib.request.Request()三个参数重点 地址,上传的文件内容,头 ‘‘‘ req=urllib.request.Request(purl,data,headers) msg=urllib.request.urlopen(req) msg=msg.read().decode()#读取返回值并decode()解码 if msg=="OK":#表示上传成功 print("成功上传:",len(data),"字节") else: print(msg)else: print("文件不存在")总结
以上是内存溢出为你收集整理的web的文件上传全部内容,希望文章能够帮你解决web的文件上传所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)