阅读量:0
``
python,from flask import Flask, request,,app = Flask(__name__),,@app.route('/upload', methods=['POST']),def upload_file():, file = request.files['file'], file.save(file.filename), return "文件上传成功",,if __name__ == '__main__':, app.run(),
``文件上传的简单实现
使用Python Flask框架进行文件上传
安装Flask
确保你已经安装了Python和pip,通过以下命令安装Flask:
pip install flask
创建一个简单的Flask应用
创建一个名为app.py
的文件,并添加以下代码:
from flask import Flask, request, redirect, url_for, flash import os UPLOAD_FOLDER = 'uploads' ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'} app = Flask(__name__) app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER app.secret_key = "super secret key" def allowed_file(filename): return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS @app.route('/', methods=['GET', 'POST']) def upload_file(): if request.method == 'POST': 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)) flash('File successfully uploaded') return redirect(url_for('upload_file')) else: flash('Allowed file types are txt, pdf, png, jpg, jpeg, gif') return ''' <!doctype html> <title>Upload new File</title> <h1>Upload new File</h1> <form method=post enctype=multipart/form-data> <input type=file name=file> <input type=submit value=Upload> </form> ''' if __name__ == '__main__': app.run(debug=True)
运行应用
在终端中,导航到包含app.py
的文件夹,并运行以下命令:
python app.py
这将启动一个本地服务器,你可以通过访问http://127.0.0.1:5000/
来上传文件。
常见问题与解答
问题1:如何修改允许的文件类型?
答案:你可以在ALLOWED_EXTENSIONS
集合中添加或删除你想要支持的文件扩展名,如果你想允许上传docx
文件,只需将其添加到集合中:
ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif', 'docx'}
问题2:如何更改上传文件的保存位置?
答案:要更改上传文件的保存位置,你需要修改UPLOAD_FOLDER
变量的值,如果你想将文件保存到名为my_uploads
的子目录中,可以这样设置:
UPLOAD_FOLDER = 'my_uploads'
确保该目录在你的应用运行的目录下存在,或者在应用开始运行时创建它。
小伙伴们,上文介绍了“用简单的代码来实现文件上传”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。