server.pypython
from flask import * app=Flask(__name__) @app.route('/') def index(): if not "fileName" in request.values: s="圖像.jpg" return s else: fileName=request.values.get("fileName") f=open(fileName,"rb") data=f.read() f.close() return data if __name__=='__main__': app.run(port=5000,debug=True)
客戶端web
import urllib.request import urllib.parse url="http://127.0.0.1:5000" resp=urllib.request.urlopen(url) data=resp.read() fileName=data.decode() resp=urllib.request.urlopen(url+"?fileName="+urllib.parse.quote(fileName)) data=resp.read() f=open("download"+fileName,"wb") f.write(data) f.close() print(fileName,len(data))
下面對web文件下載作詳細的說明flask
首先是服務器方面server.py服務器
from flask import *app
app=Flask(__name__)框架
@app.route('/')url
#上面三行屬於python web的flask框架debug
@app.route('/')
def index():
若是fileName不在resquest.values中
if not "fileName" in request.values:
s="圖像.jpg"
return s
至關於初始化的默認設置
若是存在的話以下方式處理
else:
fileName=request.values.get("fileName")
f=open(fileName,"rb")經過二進制的方式打開文件
data=f.read()讀取文件
f.close()關閉文件
return data返回讀取的文件
if __name__=='__main__':
app.run(port=5000,debug=True)
而後是客戶端方面code
import urllib.request import urllib.parse導入相關的包 url="http://127.0.0.1:5000" resp=urllib.request.urlopen(url) data=resp.read() fileName=data.decode()此時得到服務器上的默認文件 resp=urllib.request.urlopen(url+"?fileName="+urllib.parse.quote(fileName)) data=resp.read() f=open("download"+fileName,"wb") f.write(data) f.close() print(fileName,len(data))