我是靠谱客的博主 文静小蘑菇,最近开发中收集的这篇文章主要介绍python flask文件上传实现和ftp类似功能,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

新购一个远程主机,centos系统,尝试创建vsftpd服务,一直没有通畅,于是干脆写了个python flask应用来上传文件:

import os
from flask import Flask, request, url_for, send_from_directory
#from werkzeug import secure_filename
from werkzeug.utils import secure_filename

ALLOWED_EXTENSIONS = set(['png', 'jpg', 'jpeg', 'gif','txt','html','css','js','py','svg','zip'])

app = Flask(__name__)
#设置当前路径为上传文件存储的地方
app.config['UPLOAD_FOLDER'] = os.getcwd()
print(app.config['UPLOAD_FOLDER'])
#限定上传文件最大不超过16M
app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024


html = '''
    <!DOCTYPE html>
    <title>文件上传</title>
    <h1>文件上传</h1>
    <form method='post' enctype='multipart/form-data'>
        <input type='password' name='pswd' placeholder='密码'>        
         <input type='file' name='file'>
         <input type='submit' value='上传文件到主机'>
    </form>
    '''


#判断文件类型是否符合要求
def allowed_file(filename):
    return '.' in filename and filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS


@app.route('/', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        pswd = request.form.get('pswd')
        if pswd and pswd=='******':
            file = request.files['file']
            if file and allowed_file(file.filename):
                filename = secure_filename(file.filename)
                file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
                return html+filename+'已经上传成功!'
        else:
            return html+'密码不正确'
    return html


if __name__ == '__main__':
    app.run(host='127.0.0.1',port=80)
    #app.run(host='0.0.0.0',port=80)
    
    
    
'''
如果直接在远程终端输入python yourflaskapp.py运行flask应用,关闭终端后flask应用也会终端退出,为了避免这一点,我们先安装tmux终端

yum install tmux

然后执行

tmux

终端开启后再输入

python yourflaskapp.py

这样关闭终端后,flask仍然在后台持续运行


可以查看80端口被那些进程占用
lsof -i:80


如果冲突则kill掉该进程即可

'''

 

最后

以上就是文静小蘑菇为你收集整理的python flask文件上传实现和ftp类似功能的全部内容,希望文章能够帮你解决python flask文件上传实现和ftp类似功能所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部