博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用30行代码开发一个上传、下载文件的接口
阅读量:5034 次
发布时间:2019-06-12

本文共 1306 字,大约阅读时间需要 4 分钟。

分享一段代码,开发了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服务

 

 

转载于:https://www.cnblogs.com/feng0815/p/7856567.html

你可能感兴趣的文章
Java内部类
查看>>
android apk 打包自动化
查看>>
【2016 11 14】 总结
查看>>
JAVA IDE IntelliJ IDEA使用简介(一)—之界面元素
查看>>
java web
查看>>
Window文本在Linux中出现的^M问题
查看>>
课后作业-阅读任务-阅读提问-1
查看>>
[转]函数声明后面的const用法
查看>>
还没更换RubyGems镜像?
查看>>
C++ 内存管理
查看>>
[luogu1197] [JSOI2008]星球大战
查看>>
NYOJ之素数求和问题
查看>>
fedora下eclipse安装tomcat插件
查看>>
【Linux】Ubuntu安装Python3
查看>>
vue版本的留言板
查看>>
redis入门指南学习笔记
查看>>
WCF客户端关闭代码
查看>>
hbase thrift java util
查看>>
python map filter reduce
查看>>
python入门学习:6.用户输入和while循环
查看>>