分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

用30行代码开发一个上传、下载文件的接口

发布时间:2023-09-06 01:25责任编辑:林大明关键词:暂无标签

分享一段代码,开发了3个接口:
            1、上传文件
            2、查看所有文件
            3、下载文件

使用python开发,需要安装flask模块,使用pip install flask安装即可,代码量特别少,就能实现,加上注释总共35行代码,特别的简单,代码如下:

import flask,os,timefrom flask import request,send_from_directory,jsonifyapp = 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服务

 

用30行代码开发一个上传、下载文件的接口

原文地址:http://www.cnblogs.com/feng0815/p/7856567.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved