python html 文件上传
时间: 2023-10-26 15:22:08 浏览: 73
要在 Python 中实现 HTML 文件上传,可以使用 Flask 框架。Flask 是一个用 Python 编写的轻量级 Web 框架,它支持文件上传功能。
以下是一个简单的示例,演示如何使用 Flask 实现 HTML 文件上传:
```python
from flask import Flask, request, redirect, url_for
import os
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
file = request.files['file']
if file:
filename = file.filename
file.save(os.path.join(app.root_path, 'uploads', filename))
return redirect(url_for('uploaded_file', filename=filename))
return '''
<!doctype html>
<html>
<body>
<h1>Upload new File</h1>
<form method=post enctype=multipart/form-data>
<input type=file name=file>
<input type=submit value=Upload>
</form>
</body>
</html>
'''
@app.route('/uploads/<filename>')
def uploaded_file(filename):
return f'''
<!doctype html>
<html>
<body>
<h1>File uploaded successfully!</h1>
<p>Filename: {filename}</p>
</body>
</html>
'''
if __name__ == '__main__':
app.run(debug=True)
```
在上面的代码中,`upload_file()` 函数处理文件上传请求,并将上传的文件保存到服务器上的 `uploads` 文件夹中。然后,它将重定向到 `uploaded_file()` 函数,该函数显示上传的文件名。
在 HTML 中,我们使用一个表单来上传文件。该表单具有 `enctype=multipart/form-data` 属性,以便支持文件上传。文件上传控件的名称必须为 `file`。
要运行上面的代码,请确保已安装 Flask:
```
pip install flask
```
然后,在终端中运行以下命令:
```
python app.py
```
这将启动应用程序,并在 http://localhost:5000 上提供它。您可以在浏览器中访问该 URL,然后上传文件。
阅读全文