分享一段代碼,開發了3個接口:
1、上傳文件
2、查看所有文件
3、下載文件
使用python開發,需要安裝flask模塊,使用pip install flask安裝即可,代碼量特別少,就能實現,加上注釋總共35行代碼,特別的簡單,代碼如下:
import flask,os,time from flask import request,send_from_directory,jsonify app = flask.Flask(__name__)#創建一個app,代表這個web服務 @app.route('/get_file',methods=['get']) def get_file(): #下載文件接口 filename = request.values.get('fname',None) #獲取需要下載的文件名 if filename:#如果獲取到的文件名話 if os.path.isfile(filename):#判斷是否是一個文件 #返回要下載的文件 return send_from_directory('.',filename,as_attachment=True) else: return jsonify({"msg":"文件不存在!"}) else: return jsonify({'msg':'文件名不能為空'}) @app.route('/files',methods=['get']) def file_list(): #獲取文件列表接口 files = os.listdir('.')#獲取當前目錄下所有文件 new_files = [f for f in files if os.path.isfile(f)] #三元運算符,把是文件的放到list中 return jsonify({"files":new_files}) @app.route('/upload',methods=['post']) def upload(): #上傳文件接口 f = request.files.get('file_name',None) if f: t = time.strftime('%Y%m%d%H%M%S')#獲取當前時間 new_file_name = t+f.filename#給文件重命名,防止有重復文件覆蓋 f.save(new_file_name)#保存文件 return jsonify({"code":"ok"}) else: return jsonify({"msg":"請上傳文件!"}) app.run(debug=True,port=8888)#啟動這個web服務
