0


【技术分享】如何使用Python搭建一个简易的文件上传http服务

文章目录

引言

介绍一个用python搭建简易文件上传服务的方法,只是为了方便, 由于太过简易,甚至没有考虑安全因素,请大家慎用^^……。

笔者使用文件上传服务器的原因:
一般的文件传输会使用ssh 或者是ftp , 这是非常方便的, 但是有时因为某种条件的限制, 无法直接通过ssh或者ftp来传输文件, 这个时候可以考虑使用http 的方式来上传文件。

使用Python搭建文件上传服务器

http://www.coolpython.net/flask_tutorial/basic/flask-upload.html
https://github.com/kwsy/studyflask/tree/master/form

  • app.py 代码脚本如下
import os
from flask import Flask, request, render_template, redirect
from werkzeug.utils import secure_filename

app = Flask(__name__)
app.config['MAX_CONTENT_LENGTH']=300*1024*1024  
ALLOWED_EXTENSIONS =set(['json','dat','txt','pdf','png','jpg','jpeg','gif','tar','zip','jks','crt'])
UPLOAD_FOLDER ='./upload'defallowed_file(filename):return'.'in filename and \
           filename.rsplit('.',1)[1]in ALLOWED_EXTENSIONS

@app.route('/uploadfile', methods=['POST','GET'])defdo_upload():if request.method =='POST':file= request.files['file']iffileand allowed_file(file.filename):# filename = secure_filename(file.filename)
            filename =file.filename
            file.save(os.path.join(UPLOAD_FOLDER, filename))return render_template('upload.html')if __name__ =='__main__':
    app.run(host='0.0.0.0',debug=True)
  • 新建templates 文件夹,并在该文件夹下新建文件 upload.html
<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>上传文件</title></head><body><formaction="uploadfile"method=postenctype=multipart/form-data><p><inputtype=filename=file><inputtype=submitvalue=Upload></form></body></html>
  • 新建upload 文件夹(与app.py同级目录), 用于存储保存的文件

总结

注意实例中使用的监听地址是 ‘0.0.0.0’, 请不要在全网开放, 这样会有安全风险。

标签: http flask python

本文转载自: https://blog.csdn.net/weixin_37682263/article/details/127078425
版权归原作者 Coder_preston 所有, 如有侵权,请联系我们删除。

“【技术分享】如何使用Python搭建一个简易的文件上传http服务”的评论:

还没有评论