Python网页文件框上传图片
时间: 2024-08-11 16:01:39 浏览: 35
在Python中,特别是使用Web框架如Flask或Django时,可以利用HTML表单(form)中的`<input type="file">`元素来让用户选择并上传图片。下面是一个简单的Flask示例:
```python
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/upload', methods=['GET', 'POST'])
def upload_image():
if request.method == 'POST':
file = request.files['image'] # 获取用户上传的文件
if file and allowed_file(file.filename): # 检查文件类型是否允许
filename = save_image(file) # 保存到服务器
return f"图片已上传,文件名: {filename}"
else:
return "只接受.jpg和.png类型的图片"
return render_template('upload.html', action='/upload') # 显示上传页面
# 验证文件是否为图片,并设置允许的文件类型
def allowed_file(filename):
return '.' in filename and \
filename.rsplit('.', 1).lower() in ['jpg', 'jpeg', 'png']
# 保存文件的函数(这里假设使用默认存储路径)
def save_image(file):
filename = secure_filename(file.filename)
file.save(filename)
return filename
if __name__ == '__main__':
app.run(debug=True)
```
在这个例子中,你需要创建一个名为`upload.html`的HTML模板,包含一个文件上传控件,以及指向`/upload`的提交按钮。用户点击上传后,前端会发送请求到后端的`/upload`路由,`request.files`会包含上传的文件信息。