文章目录
引言
介绍一个用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’, 请不要在全网开放, 这样会有安全风险。
版权归原作者 Coder_preston 所有, 如有侵权,请联系我们删除。